Age | Commit message (Collapse) | Author | |
---|---|---|---|
2019-01-17 | ContentLengthMiddleware: don't duplicate the header | Helmut Grohne | |
When an iterable is returned and a Content-Length header is already present, don't add a second one. | |||
2018-12-27 | fix ContentLengthMiddleware(..., maxstore=()) on Py3k | Helmut Grohne | |
On Python 2.x, any integer sorts below the empty tuple. That was exploited in the maxstore parameter, but fails on Python 3 with a TypeError. Also add a regression test. Reported-by: Dominik Brodowski <mail@dominikbrodowski.net> | |||
2015-04-18 | Merge branch py3k | Helmut Grohne | |
2014-01-06 | switch to new-style classes entirely | Helmut Grohne | |
There is no reason to use old-style classes beyond laziness. | |||
2012-06-29 | fix more bytes related issues not covered by test.py | Helmut Grohne | |
* applications returned errors as str instead of bytes * filters documentation updated with bytes * various filters expecting str where bytes are passed * escape_string also needs to use bytes.isalnum instead of str.isalnum * middlewares injecting str where bytes are expected | |||
2012-06-29 | fix hashlib, base64 and other bytes issues | Helmut Grohne | |
* hashlib.md5 wants bytes now. * string.decode("base64") is now base64.b64decode and works on bytes * binascii.unhexlify is now base64.b16decode and also works on bytes * str.isalnum accepts umlauts, use bytes.isalnum instead | |||
2012-06-28 | first part of bytes conversion | Helmut Grohne | |
Convert the request body data from str to bytes. This replaces all StringIOs with BytesIOs (removing backwards one more backwards compatibility). Also all character sequences involved in request bodies get a b"" prefix. The StaticContent application takes bytes instead of str (no difference for py2x). The GzipWSGIFilter needs a fixed as a truncate of a BytesIO does not rewind the stream position. | |||
2012-06-28 | remove workarounds for missing next() and hashlib | Helmut Grohne | |
2012-03-15 | raise exc_info stuff properly | Helmut Grohne | |
2012-03-15 | middlewares: support multiple start_response calls | Helmut Grohne | |
Previously middlewares mostly gave up and acted as pass through when a second start_response call occurred. Now they try to handle this situation. | |||
2012-03-15 | fix failing NoWriteCallableMiddleware test | Helmut Grohne | |
This was basically a rewrite of the NoWriteCallableMiddleware, because the wrong assumption of start_response not being called twice was used in too many places. | |||
2011-11-30 | shrink AuthenticationMiddleware.authenticate interface | Helmut Grohne | |
The method no longer receives a start_response and is no longer responsible for calling self.app. Instead it returns a dictionary with the result of the authentication. | |||
2011-11-27 | added new base class AuthenticationMiddleware | Helmut Grohne | |
The BasicAuthMiddleware and AuthDigestMiddleware now derive from AuthenticationMiddleware which provides common functionality. | |||
2011-07-22 | BasicAuthMiddleware docstring: mention REMOTE_USER | Helmut Grohne | |
2011-06-01 | improved doc string for middlewares.ContentLengthMiddleware | Helmut Grohne | |
2011-01-12 | DictAuthChecker.__call__ should take an environwsgitools-0.2.2 | Helmut Grohne | |
as this is tried by BasicAuthMiddleware first. | |||
2011-01-12 | bug fix for StaticContent and CachingMiddleware | Helmut Grohne | |
PEP333 says that the headers list passed to start_response may be modified by servers or middlewares. In fact this happens in DigestAuthMiddleware. The StaticContent and CachingMiddleware classes did not take this into account and returned the same headers list multiple times which is wrong and can lead to denial of service. | |||
2010-09-04 | added note about ContentLengthMiddleware's wsgi conformance | Helmut Grohne | |
2010-09-04 | CachingMiddleware: automatic cache pruning implemented | Helmut Grohne | |
2010-09-04 | middlewares.CachingMiddleware: include request method in key | Helmut Grohne | |
2010-08-31 | bugfix: io module from py2.6 provides incompatible StringIO | Helmut Grohne | |
2009-03-29 | quite some changes for py3 | Helmut Grohne | |
These changes introduce some compatibility code. They don't make wsgitools usable with Python 3.0, but they also don't break compatibility with Python 2.5. | |||
2009-02-27 | except binascii.Error instead of Exception in middlewares | Helmut Grohne | |
2008-10-14 | added epydoc markup to doc strings | Helmut Grohne | |
2008-09-22 | improve comments | Helmut Grohne | |
2008-09-10 | change BasicAuthMiddleware again | Helmut Grohne | |
2008-09-09 | made error page for BasicAuthMiddleware configurable | Helmut Grohne | |
2008-09-09 | update BasicAuthMiddleware docs to reflect api change | Helmut Grohne | |
2008-07-12 | fix some comments and epydocify them | Helmut Grohne | |
2008-07-12 | refactor middlewares.NoWriteCallableMiddleware | Helmut Grohne | |
2008-07-08 | add environ param to check_function in middlewares.BasicAuthMiddleware | Helmut Grohne | |
The check_function passed to the BasicAuthMiddleware constructur will now receive a third parameter environ to check against additional things. If the function does not take a third parameter the function will be called in the old manner thus maintaining backwards compatibility. | |||
2008-03-29 | fix middleware start_reponse to accept only two parameters | Helmut Grohne | |
2008-03-28 | fixed non-fatal bugs | Helmut Grohne | |
2008-03-27 | epydoc update | Helmut Grohne | |
2008-02-28 | refactored docstrings for epydoc | Helmut Grohne | |
2007-04-21 | added some assertions | Helmut Grohne | |
2007-04-21 | fixed NoWriteCallableMiddleware with exc_info ! | Helmut Grohne | |
2007-04-20 | added better support for HEAD | Helmut Grohne | |
2007-04-15 | added docstrings | Helmut Grohne | |
2007-04-15 | don't except: when knowing whats thrown | Helmut Grohne | |
2007-04-15 | TracebackMiddleware catches more exceptions | Helmut Grohne | |
2007-04-15 | fixed indenting with tabs | Helmut Grohne | |
2007-04-14 | added TracebackMiddleware | Helmut Grohne | |
2007-04-14 | initial tree | Helmut Grohne | |