Source

CherryPy / cherrypy / _cpwsgi.py

Author Commit Message Labels Comments Date
Robert Brewer
SSL support for _cpwsgiserver. One test fails immaterially. Run "test.py --ssl" to test.
Robert Brewer
Fix for #559 (allow config of WSGI middleware) via cherrypy.wsgi.pipeline. Includes tests.
Robert Brewer
Moved _wsgi_callable to _cptree, and we now import _cpwsgi as cherrypy.wsgi. Also made {{{App.__call__}}} route to {{{App.wsgiapp}}} so the latter can be replaced by user code (i.e. it's not a special method).
Robert Brewer
More (final?) config overhaul work:
Robert Brewer
Overhaul of config system:
Robert Brewer
Default ACTUAL_SERVER_PROTOCOL to "HTTP/1.1". If None, then Request.run fails with "unsubscriptable object".
Robert Brewer
Fixed the HTTP/1.0 test suite. This involved moving wsgi SERVER_PROTOCOL back (to what the spec says!) and adding a new non-standard ACTUAL_SERVER_PROTOCOL entry.
Robert Brewer
Fix for #553 (pure WSGI apps on the tree). Request.app now MUST be a cherrypy.Application instance (not None) before Request.run() is called.
Robert Brewer
Support for max_request_body_size when decoding chunked request body (also fixes a long-standing bug when max header size exceeded).
Robert Brewer
Better support for Expect/100 Continue.
Robert Brewer
Fix for #551 (_cpwsgiserver should handle persistent connections). All of CP should now default to HTTP/1.1. Some tests still need to be written, and 1.0 support reviewed throughout, but the basics work.
Robert Brewer
Cosmetics.
Robert Brewer
WSGI improvements from Christian's cp3-wsgi-remix branch:
Robert Brewer
Missing call to request.close() on KeyboardInterrupt, SystemExit within buffered page handler.
Robert Brewer
New server.socket_timeout config entry, thanks to Albert Visagie. See http://groups.google.com/group/cherrypy-devel/browse_frm/thread/ef761a8063cdc72b
Robert Brewer
Replaced request.remote_addr, remote_port, and remote_host with a single "remote" attribute, an instance of lib.http.Host, which has "ip", "port" and "name" attributes. Added a similar request.local attribute. Changed request() signature to (local, remote, scheme). This allows requests run behind multiple HTTP servers to know the address info for their particular connection.
Robert Brewer
WSGI-related changes:
Robert Brewer
If we assume all incoming request header names are uppercase, we get a big speedup. If anyone ever complains about this, it's easy enough to revert.
Robert Brewer
Optimized {{{_cpwsgi.translate_headers}}}.
Robert Brewer
benchmark still needed socket-error suppression.
Robert Brewer
New _cpwsgi.make_app function for creating isolated WSGI application callables. You should only need to use it if two WSGI apps share the same script_name, or if you use a WSGI tool which expects a separate callable for each app.
Robert Brewer
Renamed httptools to "http" to reduce confusion with new cherrypy.tools. Moved non-Tool-related code from cptools to {{{lib/__init__}}}. Added docstrings.
Robert Brewer
Comment improvements.
Robert Brewer
Made tree.Application.script_name, and it now defaults to "", not "/".
Robert Brewer
Moved log_access to a config entry.
Robert Brewer
Root and config are now isolated per app:
Robert Brewer
Moved the following config keys out of the "server." namespace (so that "server." may mean "httpserver"):
Robert Brewer
Separated cherrypy.server (HTTP) from cherrypy.engine (app):
Robert Brewer
Partial fix for #511 (wsgi default encoding).
Robert Brewer
Lots of changes to error and log handling:
  1. Prev
  2. 1
  3. 2
  4. 3
  5. Next