summaryrefslogtreecommitdiff
AgeCommit message (Collapse)Author
2015-04-18release version 0.3wsgitools-0.3Helmut Grohne
2015-04-18Merge branch py3kHelmut Grohne
2014-01-06switch to new-style classes entirelyHelmut Grohne
There is no reason to use old-style classes beyond laziness.
2013-12-09fix possible uncaught ValueError from scgi serversHelmut Grohne
With unicode strings it no longer holds that if s.isdigit() then you can safely int(s), because there are more digits (such as ^3 \xb3) accepted by isdigit. This can cause an uncaught ValueError in certain places if the remote scgi server presents bogus data. Thanks to Klaus Aehlig for pointing out what isdigit accepts.
2013-06-06fix RequestLogWSGIFilterTestHelmut Grohne
Clarify the type of the log file-like passed to RequestLogWSGIFilter.
2013-06-06fix the py3k part of RequestLogWSGIFilterTestHelmut Grohne
2013-06-06port CachingMiddlewareTest to py3kHelmut Grohne
2013-06-06Merge tag 'wsgitools-0.2.4' into py3kHelmut Grohne
The intent is to port the changes from 0.2.4 to py3k. Conflicts: README test.py wsgitools/scgi/forkpool.py All conflicts were resolved in a minimal way. The test suite now fails for all python versions.
2013-03-14release version 0.2.4wsgitools-0.2.4Helmut Grohne
2013-03-12extend copyrightHelmut Grohne
2013-03-12update Python versions in READMEHelmut Grohne
2013-03-11MANIFEST.in: include the test suiteHelmut Grohne
2013-03-10forkpool: add a per-request timelimitHelmut Grohne
2012-11-28added test for CachingMiddlewareHelmut Grohne
2012-11-01scgi.forkpool: implement RLIMIT_CPUHelmut Grohne
The limit is only set on workers does not apply to the master. Upon reaching the soft limit the worker terminates after finished the current request.
2012-11-01scgi.forkpool: fixed wrong assertionHelmut Grohne
The forkpool server was incompatible with dumb generators. They only call start_response when being asked for the first output element, but the forkpool server was wrongly requiring start_response to be called before returning the iterator.
2012-11-01scgi.forkpool: similarly drop the error attributeHelmut Grohne
It can be stored inside the config attribute.
2012-11-01scgi.forkpool: reduce instance attributesHelmut Grohne
The interface and port attributes are always used together. Combine them in order to reduce complexity.
2012-07-02added RequestLogWSGIFilterTestHelmut Grohne
2012-07-01make HtdigestTokenGenerator work with py3kHelmut Grohne
Define a textopen function that returns "native strings" (in the sense of pep3333). Therefore textopen needs to decode using iso-8859-1 iff running on py3k. Additionally use a with construct to close the file being read in all circumstances.
2012-07-01make StaticFile work with py3kHelmut Grohne
There is no file builtin, and binary mode gives bytes instead of str.
2012-06-29fix more bytes related issues not covered by test.pyHelmut 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-29fix hashlib, base64 and other bytes issuesHelmut 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-29make scgi.forkpool work with py3kHelmut Grohne
Note that the construction of the header moved from our internal sendheaders function to the start_response function. This way users supplying unicode characters no representable in iso-8859-1 will get a UnicodeEncodeError back from start_response, which is more useful than failing later while yielding bytes.
2012-06-29scgi.asynchronous: move {en,de}coding to internal moduleHelmut Grohne
2012-06-28make scgi.asynchronous work with py3Helmut Grohne
2012-06-28first part of bytes conversionHelmut 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-28update python versions in READMEHelmut Grohne
2012-06-28provide py3 style __next__ methodsHelmut Grohne
2012-06-28remove workarounds for missing next() and hashlibHelmut Grohne
2012-06-28drop support for python2.5, use except ... as ...Helmut Grohne
2012-06-24fix comment in wsgitools.digestHelmut Grohne
2012-03-17sendfile supportHelmut Grohne
When a sendfile library is available, expose it via wsgi.file_wrapper. This support spans both asynchronous and forkpool.
2012-03-17set __all__ in scgi.forkpoolHelmut Grohne
2012-03-17deduplicate scgi.{asynchronous,forkpool}Helmut Grohne
2012-03-15added a test for GzipWSGIFilterHelmut Grohne
2012-03-15raise exc_info stuff properlyHelmut Grohne
2012-03-15middlewares: support multiple start_response callsHelmut 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-15added another NoWriteCallableMiddleware testHelmut Grohne
Not failing. :-)
2012-03-15fix failing NoWriteCallableMiddleware testHelmut 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.
2012-03-15added failing test for NoWriteCallableMiddlewareHelmut Grohne
Also set the returneddata attribute of the response object instead of the request object.
2011-12-06bumped version to 0.2.3wsgitools-0.2.3Helmut Grohne
2011-12-06drop useless tail recursion param from parse_digest_responseHelmut Grohne
2011-12-01respect RFC2617 in terms of what is quotedHelmut Grohne
Said RFC is quite precise on which values of a challenge are to be quoted. I didn't honour those parts and many applications do not enforce these requirements, so I didn't notice. Now I explain which values are to be quoted in the hopes that it works with "Wget/1.10.2 (Red Hat modified)".
2011-11-30documentation updateHelmut Grohne
* added a number of internal links (L{...}) * some fixes * some additions
2011-11-30Merge branch 'authrefactor'Helmut Grohne
Conflicts: wsgitools/digest.py
2011-11-30shrink AuthenticationMiddleware.authenticate interfaceHelmut 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-28added format_digestHelmut Grohne
This is the inverse of parse_digest_response and also supports escaping of backslashes and quotes.
2011-11-28rewrite parse_digest_response for escapesHelmut Grohne
The previous version did not handle escapes at all. Now I added two test cases for escaping and rewrote the function to meet all test cases.
2011-11-28digest: generate Authentication-Info before invoking appHelmut Grohne
This shrinks the possibility of raising something from start_response and maybe enables to factor out this start_response modification later.