11 Aug 2017
- Improve HTTP request line validation: * Improve HTTP version parsing
- Fix HTTP CONNECT method processing:
* Respond with
405 Method Not Allowedif
proxy_mode is False* Validate that request-target is in authority-form
- Improve tests in
- #44: Fix EPROTOTYPE @ Mac OS
07 Aug 2017
- Fix #39 regression. Add HTTP request line check: absolute URI path must start with a forward slash (“/”).
05 Aug 2017
- CI improvements: * Add basic working Circle CI v2 config
- Fix URI encoding bug introduced in #39 * Improve cheroot.test.helper.Controller to properly match unicode
01 Aug 2017
- CI improvements: * Switch to native PyPy support in Travis CI * Take into account PEP 257 compliant modules * Build wheel in Appveyor and store it as an artifact
- Improve urllib support in
- #38 via #39: Improve URI parsing:
* Make it compliant with RFC 7230, RFC 7231 and RFC 2616
* Fix setting of
environ['QUERY_STRING']in WSGI * Introduce
server.HTTPRequest* Fix decoding of unicode URIs in WSGI 1.0 gateway
24 Jun 2017
- CI improvements: * Don’t run tests during deploy stage * Use VM based build job env only for pyenv envs * Opt-in for beta trusty image @ Travis CI * Be verbose when running tests (show test names) * Show xfail/skip details during test run
- #34: Fix
_handle_no_sslerror handler calls
- #21: Fix
test_conntests: * Improve setup_server def in HTTP connection tests * Fix HTTP streaming tests * Fix HTTP/1.1 pipelining test under Python 3 * Fix
test_readall_or_closetest * Fix
- #36: Add GitHub templates for PR, issue && contributing
- #27: Default HTTP Server header to Cheroot version str
- Cleanup _compat functions from server module
20 Jun 2017
Fix all PEP 257 related errors in all non-test modules.
cheroot/test/*folder is only one left allowed to fail with this linter.
#30: Optimize chunked body reader loop by returning empty data is the size is 0.
Ref: cherrypy/cherrypy`#1602 <https://github.com/cherrypy/cheroot/issues/1602>`_
Reset buffer if the body size is unknown
Ref: cherrypy/cherrypy`#1486 <https://github.com/cherrypy/cheroot/issues/1486>`_
Add missing size hint to SizeCheckWrapper
Ref: cherrypy/cherrypy`#1131 <https://github.com/cherrypy/cheroot/issues/1131>`_
18 Jun 2017
18 Jun 2017
Make Appveyor list separate tests in corresponding tab.
#29: Configure Travis CI build stages.
Prioritize tests by stages.
Move deploy stage to be run very last after all other stages finish.
#31: Ignore “Protocol wrong type for socket” (EPROTOTYPE) @ OSX for non-blocking sockets.
This was originally fixed for regular sockets in cherrypy/cherrypy`#1392 <https://github.com/cherrypy/cheroot/issues/1392>`_.
02 May 2017
Any HTTPRequest object may override the header_reader attribute to customize the handling of incoming headers.
The server module also presents a provisional implementation of a DropUnderscoreHeaderReader that will exclude any headers containing an underscore. It remains an exercise for the implementer to demonstrate how this functionality might be employed in a server such as CherryPy.
#26: Configured TravisCI to run tests under OS X.
12 Mar 2017
Refreshed project with jaraco skeleton.
Docs now built and deployed at RTD.
02 Mar 2017
#5: Set Server.version to Cheroot version instead of CherryPy version.
22 Jan 2017
Removed the WSGI prefix from classes in :module:`cheroot.wsgi`. Kept aliases for compatibility.
- #2: Fixed ImportError when pkg_resources cannot find the
- cheroot distribution.
14 Jan 2017
Fix error in
parse_request_uri created in 68a5769.
14 Jan 2017
Initial release based on cherrypy.cherrypy.wsgiserver 8.8.0.