summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* release 3.4.23.4.2Chris Dent2020-07-142-1/+8
|
* Py3-compat middleware.py's make_table's item sort (#55)Amit Markel2020-07-141-2/+1
| | | In py2 an array is created and sorted, and in py3 an array of the items needs to be realized in the same fashion hence the sorted(•) fix. Otherwise the code will fail on Python 3 since dict.items() returns a view on the items which doesn't have a .sort() method.
* release 3.4.13.4.1Chris Dent2020-06-042-1/+6
|
* Make next handling in wsgilib more py3-compatible (#53)jhance2020-06-031-4/+4
| | | | | If the app-iterator being passed in is not defining `next()` (e.g. running under py3 and only defined `__next__`), this will currently crash. Fix by using `six.next` which will use `__next__` or `next` as appropriate.
* update PEP333 link in README (#52)TinUnkai2020-03-161-1/+1
|
* release 3.4.03.4.0Chris Dent2020-02-122-1/+8
|
* add ipv6 support by setting address family (#50)Lekinho2020-02-122-2/+87
| | | * add ipv6 support by setting address family
* release 3.3.03.3.0Chris Dent2020-01-282-1/+7
|
* add six to check for python 2 or 3 specific implementation (#48)Thomas Cross2020-01-281-2/+4
| | | | | | | | * StringIO imports differently in python 3 - use six for compatibility * Paste requires bytes like objects. in python 2 cStringIO works fine, but in python three it needs to use io.BytesIO * simplify imports and logic by using six.BytesIO exclusively for parsing body content
* Remove pytest-runner integration (#47)Colin Watson2020-01-272-3/+0
| | | | | | | | | | | | | `pytest-runner` describes itself as deprecated in its own package description, referring to https://github.com/pypa/setuptools/issues/1684. Using it in `setup_requires` means that any other package that depends on Paste has to install `pytest-runner` too, which is fairly heavyweight and unnecessary. (I ran into this when trying to update Launchpad to a less ancient version of Paste.) This does mean that `python setup.py test` no longer works, but, according to the setuptools issue above, that's deprecated anyway. Paste already has `tox` configuration that works well.
* relese 3.2.73.2.7Chris Dent2020-01-262-1/+6
| | | | more python3 fixes
* StringIO imports differently in python 3 - use six for compatibility (#46)Thomas Cross2020-01-261-1/+1
|
* Update auth_tkt.py for python3 compatibility (#45)marzetas2020-01-262-20/+150
| | | | | | | | * Update auth_tkt.py urllib imports to work in python3 * Add tests for auth AuthTicket * Adapt auth_tkt to be python2 and python3 compatible
* Release 3.2.63.2.6Chris Dent2020-01-132-1/+7
| | | | * Correct HEAD handling accept-encoding: gzip
* Make gzip middleware stop producing a spurious response body on HEAD ↵Jason Madden2020-01-133-4/+27
| | | | | requests. (#44) Fixes #43
* release 3.2.53.2.5Chris Dent2020-01-091-1/+1
|
* python3 compatibility issues: list + keys concatenation, bool check (#42)Vitaly Haritonsky2020-01-091-1/+4
|
* release 3.2.43.2.4Chris Dent2020-01-052-1/+10
|
* Fix deprecation warnings (#41)Xtreak2020-01-052-7/+14
| | | | | | | | * Use is_alive instead of isAlive for Python 3.9 compatibility. * Use encodebytes instead of deprecated encodestring. * Fix Python 2 and 3 compatibility for base64.
* release 3.2.33.2.3Chris Dent2019-11-252-1/+6
|
* socket write expect bytes instead of str (#38)blidce2019-11-251-1/+1
|
* release 3.2.23.2.2Chris Dent2019-10-142-1/+6
| | | | * Avoid some reference cycles through tracebacks in httpserver.py
* Avoid some reference cycles through tracebacks. (#36)Benjamin Peterson2019-10-141-5/+3
|
* Release 3.2.1Chris Dent2019-10-142-1/+6
| | | | * Handle io.UnsupportedOperation from socket.tell()
* LimitedLengthFile: Handle io.UnsupportedOperation from socket.tell(). (#35)Benjamin Peterson2019-09-092-3/+27
| | | On Python 3, socket.makefile() returns an object with a tell() method, but one that always raises io.UnsupportedOperation.
* Simplify parse_formvars. (#34)Benjamin Peterson2019-09-061-40/+29
| | | If we don't want to parse the request body with cgi, we can just not use cgi rather than building a fake request.
* release 3.2.03.2.0Chris Dent2019-09-052-1/+11
| | | | | | * Ensure unicode URLs work in TestApp. * Make LimitedLengthFile file return empty bytes. * Protect against accidental close in FieldStorage.
* TestApp: Make unicode urls always work. (#33)Benjamin Peterson2019-09-042-0/+8
| | | Passing a unicode url to get() always worked (assuming the url contained only ASCII), but it didn't work to post(), put(), or delete() if query parameters were included. This change fixes the latter cases.
* Make LimitedLengthFile file return empty bytes rather than empty string when ↵Benjamin Peterson2019-09-042-2/+10
| | | | it's done. (#32)
* Avoid copying FieldStorage if possible. (#30)Benjamin Peterson2019-08-292-10/+15
| | | | | On Python 3, cgi.FieldStorage has a __del__ method that closes the underlying file [1]. This means that if the copy made from UnicodeMultiDict._decode_value is garbage collected, the file underlying the original FieldStorage will be closed! Fix this by not copying FieldStorage if it is not required by decode_keys=False. I cannot think of a nice way to fix this problem if decode_keys=True. [1] https://github.com/python/cpython/commit/f79126f373a9d5c9b584a8db736fe490fcbfa77a
* release 3.1.1Chris Dent2019-08-252-1/+6
|
* Modify TestApp.encode_multipart to handle bytes filenames and params. (#29)3.1.1Benjamin Peterson2019-08-253-16/+36
| | | As the test shows, this fixes passing boths params and upload_files on Python 3.
* release 3.1.03.1.0Chris Dent2019-07-242-1/+7
|
* Fix WSGIResponse.__call__ on Python 3. (#27)Benjamin Peterson2019-07-242-2/+19
| | | Replace `isinstance(self.content, file)` with a duck type for the `read()` method. Having a read method is what PEP 333 defines as the minimum requirement for a "file-like" object.
* Get MutableMapping from collections.abc on Python 3. (#26)Benjamin Peterson2019-07-243-3/+3
| | | This fixes a deprecation warning on 3.7.
* release 3.0.83.0.8Chris Dent2019-03-072-1/+6
|
* Fix quoting of bytestrings. (#23)Jelmer Vernooij2019-03-072-1/+6
|
* Release 3.0.73.0.7Chris Dent2019-02-282-1/+6
|
* Write bytestrings when calling wsgi_write_chunk (#22)Chris Dent2019-02-281-2/+2
| | | | | | | | httpservers writes an empty string or an internal server error message, these needs to be bytes in python 3. It might have been useful to have wsgi_write_chunk accept either bytes or strings and do the right thing, but that seemed too invasive to be safe.
* Release 3.0.63.0.6Chris Dent2019-01-072-1/+7
| | | | * Revert 3.0.5
* Revert "Remove use of OpenSSL.tsafe, which links to OpenSSL.SSL anyways. (#16)"Chris Dent2019-01-071-3/+3
| | | | | | | | | | | | | | | | | This reverts commit 78dd2ec0138467305f1686558fca4ff8ca0b2b70. That removes the use of the so-called "thread safe" tsafe module, which adds a lock around many messages, but did not account for the use of that lock in the paste/httpserver.py module. An attempt was made to just get rid of that lock, but since there is limited testing of that area, and few resources to confirm the change, it's been decided that keeping tsafe and allow the deprecation warning to be exposed is the best thing to do. With luck the decpration warning will encourage people to not use the httpserver and choose something else instead. Fixes #19
* Release 3.0.53.0.5Chris Dent2018-11-292-1/+6
| | | | * Quiet OpenSSL deprecation warning
* Remove use of OpenSSL.tsafe, which links to OpenSSL.SSL anyways. (#16)Stephan Richter2018-11-291-3/+3
|
* release 3.0.4Chris Dent2018-11-262-1/+6
|
* Don't delete dict item while iterating over same dict (#14)3.0.4Marius van den Beek2018-11-051-1/+1
|
* release 3.0.33.0.3Chris Dent2018-11-032-1/+6
|
* Depend on pytest instead of nose (#13)Felix Yan2018-11-032-2/+3
|
* Release 3.0.23.0.2Chris Dent2018-10-312-1/+6
|
* paste.fixture: fix form offset handling (#12)Daniel Hahler2018-10-312-6/+11
| | | | | It would fail if the length of bytes and unicode differs. It now passes non-bytes to `Form` directly.
* py3 fixes for form handling in paste.fixture (#8)Daniel Hahler2018-10-303-11/+29
| | | | | | | | | | | | | | | | | * py3 fixes for form handling in paste.fixture It uses "not six.PY2" in contrast to other places in the code to be forward-compatible. I've not looked too closely, but it might make sense to decode body/text in the beginning already, instead of having it as bytes internally?! Also, like mentioned in [1] already, it should probably use the correct source encoding?! 1: https://github.com/cdent/paste/blob/36e5b8bd16a6063ec654faf04541f3a20d19f7fe/paste/fixture.py#L820 * Add test, using/fixing SlowConsumer form app