[Python-modules-commits] [python-webob] 01/06: New upstream version 1.7.3
Thomas Goirand
zigo at moszumanska.debian.org
Mon Sep 11 11:39:51 UTC 2017
This is an automated email from the git hooks/post-receive script.
zigo pushed a commit to branch master
in repository python-webob.
commit b2eb994886bf14a9b2ff45f973dce6e3fdf40f99
Author: Thomas Goirand <zigo at debian.org>
Date: Sun Sep 10 11:49:01 2017 +0200
New upstream version 1.7.3
---
.gitignore | 23 +-
.travis.yml | 10 +-
CHANGES.txt | 169 ++--
HISTORY.txt | 51 ++
PKG-INFO | 163 +++-
README.rst | 4 +-
WebOb.egg-info/PKG-INFO | 163 +++-
WebOb.egg-info/SOURCES.txt | 3 +-
WebOb.egg-info/requires.txt | 3 +-
appveyor.yml | 23 +
docs/api/response.txt | 2 +
docs/conf.py | 2 +
docs/differences.txt | 5 +-
docs/do-it-yourself.txt | 2 +-
docs/index.txt | 116 ++-
docs/reference.txt | 4 +-
docs/whatsnew-1.6.txt | 18 +-
docs/whatsnew-1.7.txt | 228 +++++
setup.cfg | 3 +-
setup.py | 9 +-
tests/test_acceptparse.py | 21 +-
tests/test_byterange.py | 62 +-
tests/test_cachecontrol.py | 87 +-
tests/test_client_functional.py | 8 +-
tests/test_compat.py | 128 +++
tests/test_cookies.py | 381 ++++----
tests/test_cookies_bw.py | 19 +-
tests/test_datetime_utils.py | 88 +-
tests/test_dec.py | 17 +-
tests/test_descriptors.py | 281 +++---
tests/test_etag.py | 98 +-
tests/test_etag_nose.py | 32 +-
tests/test_exc.py | 181 ++--
tests/test_headers.py | 66 +-
tests/test_in_wsgiref.py | 19 +-
tests/test_misc.py | 73 +-
tests/test_request.py | 1936 ++++++++++++++++++++-------------------
tests/test_request_nose.py | 69 +-
tests/test_response.py | 869 +++++++++++-------
tests/test_static.py | 6 +-
tests/test_transcode.py | 42 +-
tox.ini | 28 +-
toxfast.ini | 10 -
webob/byterange.py | 2 +-
webob/compat.py | 33 +-
webob/dec.py | 12 +-
webob/descriptors.py | 5 +-
webob/exc.py | 29 +-
webob/headers.py | 11 +-
webob/request.py | 343 +++----
webob/response.py | 548 ++++++++---
webob/util.py | 4 +-
52 files changed, 3888 insertions(+), 2621 deletions(-)
diff --git a/.gitignore b/.gitignore
index 09c1882..83acee6 100644
--- a/.gitignore
+++ b/.gitignore
@@ -1,30 +1,17 @@
*$py.class
-*,cover
*.egg
*.pyc
*.pyo
*.swp
-*_coverage/**
-*_fixt.py
*~
.*.swp
-.coverage
-.coverage.*
.tox/
-Session.vim
-TEST*
-WebOb.egg-info
__pycache__/
-_website/
build/
-coverage-*.xml
-coverage.xml
-coverage.xml
dist/
-docs/_build/*
env*/
-glob:_coverage
-nosetests-*.xml
-nosetests.xml
-nosetests.xml
-testenv
+.coverage
+.cache/
+WebOb.egg-info/
+pytest*.xml
+coverage*.xml
diff --git a/.travis.yml b/.travis.yml
index 951ff57..895d219 100644
--- a/.travis.yml
+++ b/.travis.yml
@@ -4,8 +4,6 @@ sudo: false
matrix:
include:
- - python: 2.6
- env: TOXENV=py26
- python: 2.7
env: TOXENV=py27
- python: 3.3
@@ -14,12 +12,16 @@ matrix:
env: TOXENV=py34
- python: 3.5
env: TOXENV=py35
+ - python: 3.6
+ env: TOXENV=py36
+ - python: nightly
+ env: TOXENV=py37
- python: pypy
env: TOXENV=pypy
- - python: pypy3
- env: TOXENV=pypy3
- python: 3.5
env: TOXENV=py2-cover,py3-cover,coverage
+ allow_failures:
+ - env: TOXENV=py37
install:
- travis_retry pip install tox
diff --git a/CHANGES.txt b/CHANGES.txt
index 0b3ace5..58fec74 100644
--- a/CHANGES.txt
+++ b/CHANGES.txt
@@ -1,74 +1,141 @@
-1.6.2 (2016-10-14)
+1.7.3 (2017-06-30)
------------------
Bugfix
~~~~~~
-- WebOb's exceptions will lazily read underlying variables when inserted into
- templates to avoid expensive computations/crashes when inserting into the
- template. This had a bad performance regression on Py27 because of the way
- the lazified class was created and returned. See
- https://github.com/Pylons/webob/pull/284
+- Request.host_url, Request.host_port and Request.domain now all understand and
+ know how to parse IPv6 Host headers sent by browsers. See
+ https://github.com/Pylons/webob/pull/332
-1.6.1 (2016-05-20)
+1.7.2 (2017-03-15)
------------------
Bugfix
~~~~~~
-- Response.from_file now parses the status line correctly when the status line
- contains an HTTP with version, as well as a status text that contains
- multiple white spaces (e.g 404 Not Found). See
- https://github.com/Pylons/webob/issues/250
+- Allow unnamed fields in form data to be properly transcoded when calling
+ request.decode with an alternate encoding. See
+ https://github.com/Pylons/webob/pull/309
+
+1.7.1 (2017-01-16)
+------------------
+Bugfix
+~~~~~~
-1.6.0 (2016-03-15)
+- ``Response.__init__`` would discard ``app_iter`` when a ``Response`` had no
+ body, this would cause issues when ``app_iter`` was an object that was tied
+ to the life-cycle of a web application and had to be properly closed.
+ ``app_iter`` is more advanced API for ``Response`` and thus even if it
+ contains a body and is thus against the HTTP RFC's, we should let the users
+ shoot themselves by returning a body. See
+ https://github.com/Pylons/webob/issues/305
+
+
+1.7.0 (2016-12-22)
------------------
Compatibility
~~~~~~~~~~~~~
-- Python 3.2 is no longer supported by WebOb
+- WebOb is no longer supported on Python 2.6 and PyPy3 (due to pip no longer
+ supporting Python 3.2 even on PyPy)
+
+Backwards Incompatibility
+~~~~~~~~~~~~~~~~~~~~~~~~~
+
+- ``Response.content_type`` removes all existing Content-Type parameters, and
+ if the new Content-Type is "texty" it adds a new charset (unless already
+ provided) using the ``default_charset``. See
+ https://github.com/Pylons/webob/pull/301
+
+- ``Response.set_cookie`` no longer accepts a key argument. This was deprecated
+ in WebOb 1.5 and as mentioned in the deprecation, is being removed in 1.7
+
+- ``Response.__init__`` will no longer set the default Content-Type, nor
+ Content-Length on Responses that don't have a body. This allows WebOb to
+ return proper responses for things like `Response(status='204 No Content')`.
+
+- ``Response.text`` will no longer raise if the Content-Type does not have a
+ charset, it will fall back to using the new ``default_body_encoding`. To get
+ the old behaviour back please sub-class ``Response`` and set
+ ``default_body_encoding`` to ``None``. See
+ https://github.com/Pylons/webob/pull/287
+
+- WebOb no longer supports Chunked Encoding, this means that if you are using
+ WebOb and need Chunked Encoding you will be required to have a proxy that
+ unchunks the request for you. Please read
+ https://github.com/Pylons/webob/issues/279 for more background.
+
+Feature
+~~~~~~~
+
+- ``Response`` has a new ``default_body_encoding`` which may be used to allow
+ getting/setting ``Response.text`` when a Content-Type has no charset. See
+ https://github.com/Pylons/webob/pull/287
+
+- ``webob.Request`` with any HTTP method is now allowed to have a body. This
+ allows DELETE to have a request body for passing extra information. See
+ https://github.com/Pylons/webob/pull/283 and
+ https://github.com/Pylons/webob/pull/274
+
+- Add ``tell()`` to ``ResponseBodyFile`` so that it may be used for example for
+ zipfile support. See https://github.com/Pylons/webob/pull/117
+
+- Allow the return from ``wsgify.middleware`` to be used as a decorator. See
+ https://github.com/Pylons/webob/pull/228
Bugfix
~~~~~~
-- Request.decode attempted to read from the an already consumed stream, it has
- now been redirected to another stream to read from. See
- https://github.com/Pylons/webob/pull/183
-
-- The application/json media type does not allow for a charset as discovery of
- the encoding is done at the JSON layer. Upon initialization of a Response
- WebOb will no longer add a charset if the content-type is set to JSON. See
- https://github.com/Pylons/webob/pull/197 and
- https://github.com/Pylons/pyramid/issues/1611
-
-Features
-~~~~~~~~
-
-- Lazily HTML escapes environment keys in HTTP Exceptions so that those keys in
- the environ that are not used in the output of the page don't raise an
- exception due to inability to be properly escaped. See
- https://github.com/Pylons/webob/pull/139
-
-- MIMEAccept now accepts comparisons against wildcards, this allows one to
- match on just the media type or sub-type, without having to explicitly match
- on both the media type and sub-type at the same time. See
- https://github.com/Pylons/webob/pull/185
-
-- Add the ability to return a JSON body from an exception. Using the Accept
- information in the request, the exceptions will now automatically return a
- JSON version of the exception instead of just HTML or text. See
- https://github.com/Pylons/webob/pull/230 and
- https://github.com/Pylons/webob/issues/209
-
-Security
-~~~~~~~~
-
-- exc._HTTPMove and any subclasses will now raise a ValueError if the location
- field contains a line feed or carriage return. These values may lead to
- possible HTTP Response Splitting. The header_getter descriptor has also been
- modified to no longer accept headers with a line feed or carriage return.
- See: https://github.com/Pylons/webob/pull/229 and
- https://github.com/Pylons/webob/issues/217
+- Fixup ``cgi.FieldStorage`` on Python 3.x to work-around issue reported in
+ Python bug report 27777 and 24764. This is currently applied for Python
+ versions less than 3.7. See https://github.com/Pylons/webob/pull/294 and
+ https://github.com/Pylons/webob/pull/300
+
+- ``Response.set_cookie`` now accepts ``datetime`` objects for the ``expires``
+ kwarg and will correctly convert them to UTC with no tzinfo for use in
+ calculating the ``max_age``. See https://github.com/Pylons/webob/issues/254
+ and https://github.com/Pylons/webob/pull/292
+
+- Fixes ``request.PATH_SAFE`` to contain all of the path safe characters
+ according to RFC3986. See https://github.com/Pylons/webob/pull/291
+
+- WebOb's exceptions will lazily read underlying variables when inserted into
+ templates to avoid expensive computations/crashes when inserting into the
+ template. This had a bad performance regression on Py27 because of the way
+ the lazified class was created and returned. See
+ https://github.com/Pylons/webob/pull/284
+
+- ``wsgify.__call__`` raised a ``TypeError`` with an unhelpful message, it will
+ now return the ``repr`` for the wrapped function:
+ https://github.com/Pylons/webob/issues/119
+
+- ``Response.json``'s ``json.dumps``/``json.loads`` are now always UTF-8. It no
+ longer tries to use the charset.
+
+- The ``Response.__init__`` will by default no longer set the Content-Type to
+ the default if a ``headerlist`` is provided. This fixes issues whereby
+ ``Request.get_response()`` would return a Response that didn't match the
+ actual response. See https://github.com/Pylons/webob/pull/261 and
+ https://github.com/Pylons/webob/issues/205
+
+- Cleans up the remainder of the issues with the updated WebOb exceptions that
+ were taught to return JSON in version 1.6. See
+ https://github.com/Pylons/webob/issues/237 and
+ https://github.com/Pylons/webob/issues/236
+
+- ``Response.from_file`` now parses the status line correctly when the status
+ line contains an HTTP with version, as well as a status text that contains
+ multiple white spaces (e.g HTTP/1.1 404 Not Found). See
+ https://github.com/Pylons/webob/issues/250
+
+- ``Response`` now has a new property named ``has_body`` that may be used to
+ interrogate the ``Response`` to find out if ``Response.body`` is or isn't
+ set.
+ This is used in the exception handling code so that if you use a WebOb HTTP
+ Exception and pass a generator to ``app_iter`` WebOb won't attempt to read
+ the whole thing and instead allows it to be returned to the WSGI server. See
+ https://github.com/Pylons/webob/pull/259
diff --git a/HISTORY.txt b/HISTORY.txt
index 59bd54e..a5313b7 100644
--- a/HISTORY.txt
+++ b/HISTORY.txt
@@ -1,3 +1,54 @@
+1.6.0 (2016-03-15)
+------------------
+
+Compatibility
+~~~~~~~~~~~~~
+
+- Python 3.2 is no longer supported by WebOb
+
+Bugfix
+~~~~~~
+
+- Request.decode attempted to read from the an already consumed stream, it has
+ now been redirected to another stream to read from. See
+ https://github.com/Pylons/webob/pull/183
+
+- The application/json media type does not allow for a charset as discovery of
+ the encoding is done at the JSON layer. Upon initialization of a Response
+ WebOb will no longer add a charset if the content-type is set to JSON. See
+ https://github.com/Pylons/webob/pull/197 and
+ https://github.com/Pylons/pyramid/issues/1611
+
+Features
+~~~~~~~~
+
+- Lazily HTML escapes environment keys in HTTP Exceptions so that those keys in
+ the environ that are not used in the output of the page don't raise an
+ exception due to inability to be properly escaped. See
+ https://github.com/Pylons/webob/pull/139
+
+- MIMEAccept now accepts comparisons against wildcards, this allows one to
+ match on just the media type or sub-type, without having to explicitly match
+ on both the media type and sub-type at the same time. See
+ https://github.com/Pylons/webob/pull/185
+
+- Add the ability to return a JSON body from an exception. Using the Accept
+ information in the request, the exceptions will now automatically return a
+ JSON version of the exception instead of just HTML or text. See
+ https://github.com/Pylons/webob/pull/230 and
+ https://github.com/Pylons/webob/issues/209
+
+Security
+~~~~~~~~
+
+- exc._HTTPMove and any subclasses will now raise a ValueError if the location
+ field contains a line feed or carriage return. These values may lead to
+ possible HTTP Response Splitting. The header_getter descriptor has also been
+ modified to no longer accept headers with a line feed or carriage return.
+ See: https://github.com/Pylons/webob/pull/229 and
+ https://github.com/Pylons/webob/issues/217
+
+
1.5.1 (2015-10-30)
------------------
diff --git a/PKG-INFO b/PKG-INFO
index 6784294..f05a977 100644
--- a/PKG-INFO
+++ b/PKG-INFO
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: WebOb
-Version: 1.6.2
+Version: 1.7.3
Summary: WSGI request and response object
Home-page: http://webob.org/
Author: Pylons Project
@@ -28,14 +28,14 @@ Description: WebOb
Support and Documentation
-------------------------
- See the `WebOb Documentation website <http://webob.readthedocs.org/>`_ to view
+ See the `WebOb Documentation website <https://webob.readthedocs.io/>`_ to view
documentation, report bugs, and obtain support.
License
-------
WebOb is offered under the `MIT-license
- <http://webob.readthedocs.org/en/latest/license.html>`_.
+ <https://webob.readthedocs.io/en/latest/license.html>`_.
Authors
-------
@@ -45,80 +45,147 @@ Description: WebOb
- 1.6.2 (2016-10-14)
+ 1.7.3 (2017-06-30)
------------------
Bugfix
~~~~~~
- - WebOb's exceptions will lazily read underlying variables when inserted into
- templates to avoid expensive computations/crashes when inserting into the
- template. This had a bad performance regression on Py27 because of the way
- the lazified class was created and returned. See
- https://github.com/Pylons/webob/pull/284
+ - Request.host_url, Request.host_port and Request.domain now all understand and
+ know how to parse IPv6 Host headers sent by browsers. See
+ https://github.com/Pylons/webob/pull/332
- 1.6.1 (2016-05-20)
+ 1.7.2 (2017-03-15)
------------------
Bugfix
~~~~~~
- - Response.from_file now parses the status line correctly when the status line
- contains an HTTP with version, as well as a status text that contains
- multiple white spaces (e.g 404 Not Found). See
- https://github.com/Pylons/webob/issues/250
+ - Allow unnamed fields in form data to be properly transcoded when calling
+ request.decode with an alternate encoding. See
+ https://github.com/Pylons/webob/pull/309
+
+ 1.7.1 (2017-01-16)
+ ------------------
+
+ Bugfix
+ ~~~~~~
+
+ - ``Response.__init__`` would discard ``app_iter`` when a ``Response`` had no
+ body, this would cause issues when ``app_iter`` was an object that was tied
+ to the life-cycle of a web application and had to be properly closed.
+ ``app_iter`` is more advanced API for ``Response`` and thus even if it
+ contains a body and is thus against the HTTP RFC's, we should let the users
+ shoot themselves by returning a body. See
+ https://github.com/Pylons/webob/issues/305
- 1.6.0 (2016-03-15)
+ 1.7.0 (2016-12-22)
------------------
Compatibility
~~~~~~~~~~~~~
- - Python 3.2 is no longer supported by WebOb
+ - WebOb is no longer supported on Python 2.6 and PyPy3 (due to pip no longer
+ supporting Python 3.2 even on PyPy)
+
+ Backwards Incompatibility
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ - ``Response.content_type`` removes all existing Content-Type parameters, and
+ if the new Content-Type is "texty" it adds a new charset (unless already
+ provided) using the ``default_charset``. See
+ https://github.com/Pylons/webob/pull/301
+
+ - ``Response.set_cookie`` no longer accepts a key argument. This was deprecated
+ in WebOb 1.5 and as mentioned in the deprecation, is being removed in 1.7
+
+ - ``Response.__init__`` will no longer set the default Content-Type, nor
+ Content-Length on Responses that don't have a body. This allows WebOb to
+ return proper responses for things like `Response(status='204 No Content')`.
+
+ - ``Response.text`` will no longer raise if the Content-Type does not have a
+ charset, it will fall back to using the new ``default_body_encoding`. To get
+ the old behaviour back please sub-class ``Response`` and set
+ ``default_body_encoding`` to ``None``. See
+ https://github.com/Pylons/webob/pull/287
+
+ - WebOb no longer supports Chunked Encoding, this means that if you are using
+ WebOb and need Chunked Encoding you will be required to have a proxy that
+ unchunks the request for you. Please read
+ https://github.com/Pylons/webob/issues/279 for more background.
+
+ Feature
+ ~~~~~~~
+
+ - ``Response`` has a new ``default_body_encoding`` which may be used to allow
+ getting/setting ``Response.text`` when a Content-Type has no charset. See
+ https://github.com/Pylons/webob/pull/287
+
+ - ``webob.Request`` with any HTTP method is now allowed to have a body. This
+ allows DELETE to have a request body for passing extra information. See
+ https://github.com/Pylons/webob/pull/283 and
+ https://github.com/Pylons/webob/pull/274
+
+ - Add ``tell()`` to ``ResponseBodyFile`` so that it may be used for example for
+ zipfile support. See https://github.com/Pylons/webob/pull/117
+
+ - Allow the return from ``wsgify.middleware`` to be used as a decorator. See
+ https://github.com/Pylons/webob/pull/228
Bugfix
~~~~~~
- - Request.decode attempted to read from the an already consumed stream, it has
- now been redirected to another stream to read from. See
- https://github.com/Pylons/webob/pull/183
+ - Fixup ``cgi.FieldStorage`` on Python 3.x to work-around issue reported in
+ Python bug report 27777 and 24764. This is currently applied for Python
+ versions less than 3.7. See https://github.com/Pylons/webob/pull/294 and
+ https://github.com/Pylons/webob/pull/300
- - The application/json media type does not allow for a charset as discovery of
- the encoding is done at the JSON layer. Upon initialization of a Response
- WebOb will no longer add a charset if the content-type is set to JSON. See
- https://github.com/Pylons/webob/pull/197 and
- https://github.com/Pylons/pyramid/issues/1611
+ - ``Response.set_cookie`` now accepts ``datetime`` objects for the ``expires``
+ kwarg and will correctly convert them to UTC with no tzinfo for use in
+ calculating the ``max_age``. See https://github.com/Pylons/webob/issues/254
+ and https://github.com/Pylons/webob/pull/292
- Features
- ~~~~~~~~
+ - Fixes ``request.PATH_SAFE`` to contain all of the path safe characters
+ according to RFC3986. See https://github.com/Pylons/webob/pull/291
- - Lazily HTML escapes environment keys in HTTP Exceptions so that those keys in
- the environ that are not used in the output of the page don't raise an
- exception due to inability to be properly escaped. See
- https://github.com/Pylons/webob/pull/139
+ - WebOb's exceptions will lazily read underlying variables when inserted into
+ templates to avoid expensive computations/crashes when inserting into the
+ template. This had a bad performance regression on Py27 because of the way
+ the lazified class was created and returned. See
+ https://github.com/Pylons/webob/pull/284
- - MIMEAccept now accepts comparisons against wildcards, this allows one to
- match on just the media type or sub-type, without having to explicitly match
- on both the media type and sub-type at the same time. See
- https://github.com/Pylons/webob/pull/185
+ - ``wsgify.__call__`` raised a ``TypeError`` with an unhelpful message, it will
+ now return the ``repr`` for the wrapped function:
+ https://github.com/Pylons/webob/issues/119
- - Add the ability to return a JSON body from an exception. Using the Accept
- information in the request, the exceptions will now automatically return a
- JSON version of the exception instead of just HTML or text. See
- https://github.com/Pylons/webob/pull/230 and
- https://github.com/Pylons/webob/issues/209
+ - ``Response.json``'s ``json.dumps``/``json.loads`` are now always UTF-8. It no
+ longer tries to use the charset.
- Security
- ~~~~~~~~
+ - The ``Response.__init__`` will by default no longer set the Content-Type to
+ the default if a ``headerlist`` is provided. This fixes issues whereby
+ ``Request.get_response()`` would return a Response that didn't match the
+ actual response. See https://github.com/Pylons/webob/pull/261 and
+ https://github.com/Pylons/webob/issues/205
+
+ - Cleans up the remainder of the issues with the updated WebOb exceptions that
+ were taught to return JSON in version 1.6. See
+ https://github.com/Pylons/webob/issues/237 and
+ https://github.com/Pylons/webob/issues/236
+
+ - ``Response.from_file`` now parses the status line correctly when the status
+ line contains an HTTP with version, as well as a status text that contains
+ multiple white spaces (e.g HTTP/1.1 404 Not Found). See
+ https://github.com/Pylons/webob/issues/250
- - exc._HTTPMove and any subclasses will now raise a ValueError if the location
- field contains a line feed or carriage return. These values may lead to
- possible HTTP Response Splitting. The header_getter descriptor has also been
- modified to no longer accept headers with a line feed or carriage return.
- See: https://github.com/Pylons/webob/pull/229 and
- https://github.com/Pylons/webob/issues/217
+ - ``Response`` now has a new property named ``has_body`` that may be used to
+ interrogate the ``Response`` to find out if ``Response.body`` is or isn't
+ set.
+ This is used in the exception handling code so that if you use a WebOb HTTP
+ Exception and pass a generator to ``app_iter`` WebOb won't attempt to read
+ the whole thing and instead allows it to be returned to the WSGI server. See
+ https://github.com/Pylons/webob/pull/259
Keywords: wsgi request web http
Platform: UNKNOWN
@@ -128,10 +195,10 @@ Classifier: License :: OSI Approved :: MIT License
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI :: Application
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI :: Middleware
-Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
+Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
diff --git a/README.rst b/README.rst
index bdca2b8..1b3d83e 100644
--- a/README.rst
+++ b/README.rst
@@ -20,14 +20,14 @@ parse HTTP responses.
Support and Documentation
-------------------------
-See the `WebOb Documentation website <http://webob.readthedocs.org/>`_ to view
+See the `WebOb Documentation website <https://webob.readthedocs.io/>`_ to view
documentation, report bugs, and obtain support.
License
-------
WebOb is offered under the `MIT-license
-<http://webob.readthedocs.org/en/latest/license.html>`_.
+<https://webob.readthedocs.io/en/latest/license.html>`_.
Authors
-------
diff --git a/WebOb.egg-info/PKG-INFO b/WebOb.egg-info/PKG-INFO
index 6784294..f05a977 100644
--- a/WebOb.egg-info/PKG-INFO
+++ b/WebOb.egg-info/PKG-INFO
@@ -1,6 +1,6 @@
Metadata-Version: 1.1
Name: WebOb
-Version: 1.6.2
+Version: 1.7.3
Summary: WSGI request and response object
Home-page: http://webob.org/
Author: Pylons Project
@@ -28,14 +28,14 @@ Description: WebOb
Support and Documentation
-------------------------
- See the `WebOb Documentation website <http://webob.readthedocs.org/>`_ to view
+ See the `WebOb Documentation website <https://webob.readthedocs.io/>`_ to view
documentation, report bugs, and obtain support.
License
-------
WebOb is offered under the `MIT-license
- <http://webob.readthedocs.org/en/latest/license.html>`_.
+ <https://webob.readthedocs.io/en/latest/license.html>`_.
Authors
-------
@@ -45,80 +45,147 @@ Description: WebOb
- 1.6.2 (2016-10-14)
+ 1.7.3 (2017-06-30)
------------------
Bugfix
~~~~~~
- - WebOb's exceptions will lazily read underlying variables when inserted into
- templates to avoid expensive computations/crashes when inserting into the
- template. This had a bad performance regression on Py27 because of the way
- the lazified class was created and returned. See
- https://github.com/Pylons/webob/pull/284
+ - Request.host_url, Request.host_port and Request.domain now all understand and
+ know how to parse IPv6 Host headers sent by browsers. See
+ https://github.com/Pylons/webob/pull/332
- 1.6.1 (2016-05-20)
+ 1.7.2 (2017-03-15)
------------------
Bugfix
~~~~~~
- - Response.from_file now parses the status line correctly when the status line
- contains an HTTP with version, as well as a status text that contains
- multiple white spaces (e.g 404 Not Found). See
- https://github.com/Pylons/webob/issues/250
+ - Allow unnamed fields in form data to be properly transcoded when calling
+ request.decode with an alternate encoding. See
+ https://github.com/Pylons/webob/pull/309
+
+ 1.7.1 (2017-01-16)
+ ------------------
+
+ Bugfix
+ ~~~~~~
+
+ - ``Response.__init__`` would discard ``app_iter`` when a ``Response`` had no
+ body, this would cause issues when ``app_iter`` was an object that was tied
+ to the life-cycle of a web application and had to be properly closed.
+ ``app_iter`` is more advanced API for ``Response`` and thus even if it
+ contains a body and is thus against the HTTP RFC's, we should let the users
+ shoot themselves by returning a body. See
+ https://github.com/Pylons/webob/issues/305
- 1.6.0 (2016-03-15)
+ 1.7.0 (2016-12-22)
------------------
Compatibility
~~~~~~~~~~~~~
- - Python 3.2 is no longer supported by WebOb
+ - WebOb is no longer supported on Python 2.6 and PyPy3 (due to pip no longer
+ supporting Python 3.2 even on PyPy)
+
+ Backwards Incompatibility
+ ~~~~~~~~~~~~~~~~~~~~~~~~~
+
+ - ``Response.content_type`` removes all existing Content-Type parameters, and
+ if the new Content-Type is "texty" it adds a new charset (unless already
+ provided) using the ``default_charset``. See
+ https://github.com/Pylons/webob/pull/301
+
+ - ``Response.set_cookie`` no longer accepts a key argument. This was deprecated
+ in WebOb 1.5 and as mentioned in the deprecation, is being removed in 1.7
+
+ - ``Response.__init__`` will no longer set the default Content-Type, nor
+ Content-Length on Responses that don't have a body. This allows WebOb to
+ return proper responses for things like `Response(status='204 No Content')`.
+
+ - ``Response.text`` will no longer raise if the Content-Type does not have a
+ charset, it will fall back to using the new ``default_body_encoding`. To get
+ the old behaviour back please sub-class ``Response`` and set
+ ``default_body_encoding`` to ``None``. See
+ https://github.com/Pylons/webob/pull/287
+
+ - WebOb no longer supports Chunked Encoding, this means that if you are using
+ WebOb and need Chunked Encoding you will be required to have a proxy that
+ unchunks the request for you. Please read
+ https://github.com/Pylons/webob/issues/279 for more background.
+
+ Feature
+ ~~~~~~~
+
+ - ``Response`` has a new ``default_body_encoding`` which may be used to allow
+ getting/setting ``Response.text`` when a Content-Type has no charset. See
+ https://github.com/Pylons/webob/pull/287
+
+ - ``webob.Request`` with any HTTP method is now allowed to have a body. This
+ allows DELETE to have a request body for passing extra information. See
+ https://github.com/Pylons/webob/pull/283 and
+ https://github.com/Pylons/webob/pull/274
+
+ - Add ``tell()`` to ``ResponseBodyFile`` so that it may be used for example for
+ zipfile support. See https://github.com/Pylons/webob/pull/117
+
+ - Allow the return from ``wsgify.middleware`` to be used as a decorator. See
+ https://github.com/Pylons/webob/pull/228
Bugfix
~~~~~~
- - Request.decode attempted to read from the an already consumed stream, it has
- now been redirected to another stream to read from. See
- https://github.com/Pylons/webob/pull/183
+ - Fixup ``cgi.FieldStorage`` on Python 3.x to work-around issue reported in
+ Python bug report 27777 and 24764. This is currently applied for Python
+ versions less than 3.7. See https://github.com/Pylons/webob/pull/294 and
+ https://github.com/Pylons/webob/pull/300
- - The application/json media type does not allow for a charset as discovery of
- the encoding is done at the JSON layer. Upon initialization of a Response
- WebOb will no longer add a charset if the content-type is set to JSON. See
- https://github.com/Pylons/webob/pull/197 and
- https://github.com/Pylons/pyramid/issues/1611
+ - ``Response.set_cookie`` now accepts ``datetime`` objects for the ``expires``
+ kwarg and will correctly convert them to UTC with no tzinfo for use in
+ calculating the ``max_age``. See https://github.com/Pylons/webob/issues/254
+ and https://github.com/Pylons/webob/pull/292
- Features
- ~~~~~~~~
+ - Fixes ``request.PATH_SAFE`` to contain all of the path safe characters
+ according to RFC3986. See https://github.com/Pylons/webob/pull/291
- - Lazily HTML escapes environment keys in HTTP Exceptions so that those keys in
- the environ that are not used in the output of the page don't raise an
- exception due to inability to be properly escaped. See
- https://github.com/Pylons/webob/pull/139
+ - WebOb's exceptions will lazily read underlying variables when inserted into
+ templates to avoid expensive computations/crashes when inserting into the
+ template. This had a bad performance regression on Py27 because of the way
+ the lazified class was created and returned. See
+ https://github.com/Pylons/webob/pull/284
- - MIMEAccept now accepts comparisons against wildcards, this allows one to
- match on just the media type or sub-type, without having to explicitly match
- on both the media type and sub-type at the same time. See
- https://github.com/Pylons/webob/pull/185
+ - ``wsgify.__call__`` raised a ``TypeError`` with an unhelpful message, it will
+ now return the ``repr`` for the wrapped function:
+ https://github.com/Pylons/webob/issues/119
- - Add the ability to return a JSON body from an exception. Using the Accept
- information in the request, the exceptions will now automatically return a
- JSON version of the exception instead of just HTML or text. See
- https://github.com/Pylons/webob/pull/230 and
- https://github.com/Pylons/webob/issues/209
+ - ``Response.json``'s ``json.dumps``/``json.loads`` are now always UTF-8. It no
+ longer tries to use the charset.
- Security
- ~~~~~~~~
+ - The ``Response.__init__`` will by default no longer set the Content-Type to
+ the default if a ``headerlist`` is provided. This fixes issues whereby
+ ``Request.get_response()`` would return a Response that didn't match the
+ actual response. See https://github.com/Pylons/webob/pull/261 and
+ https://github.com/Pylons/webob/issues/205
+
+ - Cleans up the remainder of the issues with the updated WebOb exceptions that
+ were taught to return JSON in version 1.6. See
+ https://github.com/Pylons/webob/issues/237 and
+ https://github.com/Pylons/webob/issues/236
+
+ - ``Response.from_file`` now parses the status line correctly when the status
+ line contains an HTTP with version, as well as a status text that contains
+ multiple white spaces (e.g HTTP/1.1 404 Not Found). See
+ https://github.com/Pylons/webob/issues/250
- - exc._HTTPMove and any subclasses will now raise a ValueError if the location
- field contains a line feed or carriage return. These values may lead to
- possible HTTP Response Splitting. The header_getter descriptor has also been
- modified to no longer accept headers with a line feed or carriage return.
- See: https://github.com/Pylons/webob/pull/229 and
- https://github.com/Pylons/webob/issues/217
+ - ``Response`` now has a new property named ``has_body`` that may be used to
+ interrogate the ``Response`` to find out if ``Response.body`` is or isn't
+ set.
+ This is used in the exception handling code so that if you use a WebOb HTTP
+ Exception and pass a generator to ``app_iter`` WebOb won't attempt to read
+ the whole thing and instead allows it to be returned to the WSGI server. See
+ https://github.com/Pylons/webob/pull/259
Keywords: wsgi request web http
Platform: UNKNOWN
@@ -128,10 +195,10 @@ Classifier: License :: OSI Approved :: MIT License
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI :: Application
Classifier: Topic :: Internet :: WWW/HTTP :: WSGI :: Middleware
-Classifier: Programming Language :: Python :: 2.6
Classifier: Programming Language :: Python :: 2.7
Classifier: Programming Language :: Python :: 3.3
Classifier: Programming Language :: Python :: 3.4
Classifier: Programming Language :: Python :: 3.5
+Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: Implementation :: CPython
Classifier: Programming Language :: Python :: Implementation :: PyPy
diff --git a/WebOb.egg-info/SOURCES.txt b/WebOb.egg-info/SOURCES.txt
index 734ecec..009c7b8 100644
--- a/WebOb.egg-info/SOURCES.txt
+++ b/WebOb.egg-info/SOURCES.txt
@@ -3,12 +3,12 @@
CHANGES.txt
HISTORY.txt
README.rst
+appveyor.yml
contributing.md
rtd.txt
setup.cfg
setup.py
tox.ini
-toxfast.ini
WebOb.egg-info/PKG-INFO
WebOb.egg-info/SOURCES.txt
WebOb.egg-info/dependency_links.txt
@@ -29,6 +29,7 @@ docs/license.txt
docs/reference.txt
docs/whatsnew-1.5.txt
docs/whatsnew-1.6.txt
+docs/whatsnew-1.7.txt
docs/wiki-example.txt
docs/_static/.empty
docs/api/client.txt
diff --git a/WebOb.egg-info/requires.txt b/WebOb.egg-info/requires.txt
index dba0337..08f26e4 100644
--- a/WebOb.egg-info/requires.txt
+++ b/WebOb.egg-info/requires.txt
@@ -4,5 +4,6 @@ Sphinx >= 1.3.1
pylons-sphinx-themes
[testing]
-nose
+pytest
coverage
+pytest-cov
diff --git a/appveyor.yml b/appveyor.yml
new file mode 100644
index 0000000..bc7aa9b
--- /dev/null
+++ b/appveyor.yml
@@ -0,0 +1,23 @@
+environment:
+ matrix:
+ - PYTHON: "C:\\Python35"
+ TOXENV: "py35"
+ - PYTHON: "C:\\Python27"
+ TOXENV: "py27"
+ - PYTHON: "C:\\Python27-x64"
+ TOXENV: "py27"
+ - PYTHON: "C:\\Python35-x64"
+ TOXENV: "py35"
+
+cache:
+ - '%LOCALAPPDATA%\pip\Cache'
+
+version: '{branch}.{build}'
+
+install:
+ - "%PYTHON%\\python.exe -m pip install tox"
+
+build: off
+
+test_script:
+ - "%PYTHON%\\Scripts\\tox.exe"
diff --git a/docs/api/response.txt b/docs/api/response.txt
index 61e7631..654a809 100644
--- a/docs/api/response.txt
+++ b/docs/api/response.txt
@@ -7,5 +7,7 @@ Response
.. automodule:: webob.response
.. autoclass:: webob.response.Response
:members:
+.. autoclass:: webob.response.ResponseBodyFile
+ :members:
.. autoclass:: webob.response.AppIterRange
:members:
diff --git a/docs/conf.py b/docs/conf.py
index 321769e..bfc7d1a 100644
--- a/docs/conf.py
+++ b/docs/conf.py
@@ -56,6 +56,8 @@ html_static_path = ['_static']
htmlhelp_basename = 'WebObdoc'
+html_use_smartypants = False
+
# -- Options for LaTeX output ---------------------------------------------
latex_elements = {
diff --git a/docs/differences.txt b/docs/differences.txt
index fdc6817..fd2ce39 100644
--- a/docs/differences.txt
+++ b/docs/differences.txt
@@ -61,6 +61,9 @@ Response
``flush()`` and ``tell()``:
Not available.
+``tell()``:
+ Available in ``res.body_file.tell()``.
+
There are also many extra methods and attributes on WebOb Response
objects.
@@ -162,7 +165,7 @@ dictionary-like:
``has_header(header)``:
Use ``header in res.headers``
-``flush()``, ``tell()``:
+``flush()``:
Not available
``content``:
diff --git a/docs/do-it-yourself.txt b/docs/do-it-yourself.txt
index 3b65c7d..e88bbab 100644
--- a/docs/do-it-yourself.txt
+++ b/docs/do-it-yourself.txt
@@ -295,7 +295,7 @@ To do that we'll write a `decorator <http://www.ddj.com/web-development/18440607
**line 6**: Here we catch any ``webob.exc.HTTPException`` exceptions. This is so you can do ``raise webob.exc.HTTPNotFound()`` in your function. These exceptions are themselves WSGI applications.
-**line 7**: We call the function with the request object, any any variables in ``req.urlvars``. And we get back a response.
+**line 7**: We call the function with the request object, any variables in ``req.urlvars``. And we get back a response.
... 12047 lines suppressed ...
--
Alioth's /usr/local/bin/git-commit-notice on /srv/git.debian.org/git/python-modules/packages/python-webob.git
More information about the Python-modules-commits
mailing list