Source

CherryPy / _cpwsgi.py

The branch 'cp3-wsgi-remix' does not exist.
Author Commit Message Labels Comments Date
Christian Wyglendowski
Fixed an issue with wrapping plain WSGI callables and removed some pre-remix code.
Branches
cp3-wsgi-remix
Christian Wyglendowski
Created a branch for some WSGI related ideas that I have implemented.
Branches
cp3-wsgi-remix
Robert Brewer
Missing call to request.close() on KeyboardInterrupt, SystemExit within buffered page handler.
Branches
cherrypy
Robert Brewer
New server.socket_timeout config entry, thanks to Albert Visagie. See http://groups.google.com/group/cherrypy-devel/browse_frm/thread/ef761a8063cdc72b
Branches
cherrypy
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.
Branches
cherrypy
Robert Brewer
WSGI-related changes: 1. Changed Request.run from request_line arg to deconstructed args: method, path, query_string, and protocol. 2. Moved HTTP protocol checking from _cprequest to _cpwsgiserver. What was cherrypy.response.version is now cherrypy.request.protocol (tuple form of SERVER_PROTOCOL). request.version and response.version attributes removed. _cpwsgiserver now writes out server.protocol, not SERVER_PROTOCO…
Branches
cherrypy
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.
Branches
cherrypy
Robert Brewer
Optimized {{{_cpwsgi.translate_headers}}}.
Branches
cherrypy
Robert Brewer
benchmark still needed socket-error suppression.
Branches
cherrypy
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.
Branches
cherrypy
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.
Branches
cherrypy
Robert Brewer
Comment improvements.
Branches
cherrypy
Robert Brewer
Made tree.Application.script_name, and it now defaults to "", not "/".
Branches
cherrypy
Robert Brewer
Moved log_access to a config entry.
Branches
cherrypy
Robert Brewer
Root and config are now isolated per app: 1. object_path is now called path_info, and there's a new request.script_name attribute. This should equal the mount point of the current application. 2. cherrypy.root is gone, use cherrypy.request.app.root for now instead. Perhaps cherrypy.root will reappear and point to that. 3. cherrypy.tree.mount_points has been replaced with cherrypy.tree.apps, a dict of the form {script_name: Application(…
Branches
cherrypy
Robert Brewer
Moved the following config keys out of the "server." namespace (so that "server." may mean "httpserver"): * default_content_type * log_access_file * log_config_options * log_file * log_file_not_found * log_request_headers * log_to_screen * show_tracebacks * throw_errors
Branches
cherrypy
Robert Brewer
Separated cherrypy.server (HTTP) from cherrypy.engine (app): 1. Most CP apps must now make both a call to cherrypy.server.start(server=None) and a call to cherrypy.engine.start(blocking=True). 2. The on_start_server_list and on_stop_server_list are now on_start_engine_list and on_stop_engine_list. 3. "start_with_callback" is now an attribute of Engine. So is "request". 4. Server.start now takes a single "server" arg, which can be a server instance, a st…
Branches
cherrypy
Robert Brewer
Partial fix for #511 (wsgi default encoding).
Branches
cherrypy
Robert Brewer
Lots of changes to error and log handling: 1. Removed RequestHandled and InternalError. 2. Error response is now overridable by replacing request.error_response. Tools should do this in setup(). 3. New request.log_access attribute. 4. Moved response.handleError to request.handle_error. 5. Logging of tracebacks and request headers are now tools. 6. New ErrorRedirect tool class. 7. Tools may now be anonymous (not necessary to be place…
Branches
cherrypy
Robert Brewer
Fix for #496 (memory leak in threadlocal objects).
Branches
cherrypy
Robert Brewer
Fix for broken test in [990].
Branches
cherrypy
Robert Brewer
Speed tweak: you can now set max_header_size and max_request_size to 0 to explicitly skip using SizeWrappers.
Branches
cherrypy
Robert Brewer
Implemented #461 (CPWSGIServer should route multiple apps). This allows you to instantiate a WSGIServer with multiple apps; however, _cpserver still needs to be upgraded to "do that for you". I'll do that in a separate commit.
Branches
cherrypy
Christian Wyglendowski
1. Removed request.wsgi_environ from _cphttpserver. 2. Added cherrypy.server.wsgi_app attribute to ease wrapping the CP wsgiApp with WSGI middleware. 3. Modified _cpwsgiserver to set SCRIPT_NAME to '' and to instead put the request path in PATH_INFO. Modified _cpwsgi to deal with this change. 4. Added standalone test for mounting the CP wsgiApp at an alternate SCRIPT_NAME. Not sure how best to integrate it into the test suite.
Branches
cherrypy
Christian Wyglendowski
Added new cherrypy.request.wsgi_environ attribute that contains a dictionary of the WSGI environment (surprise, surprise). In a non-WSGI setting wsgi_environ has a value of False.
Branches
cherrypy
Robert Brewer
New signature for cherrypy.log.
Branches
cherrypy
Robert Brewer
Fix for #186 (allow exceptions to escape CP and up into WSGI middleware).
Branches
cherrypy
Remi Delon
Big change: camelCase to lower_with_underscore names (still need to update the book)
Branches
cherrypy
Robert Brewer
Fix for the fix for #311 (onEndRequest method). {{{__del__}}} cannot work, since it might be called after the thread has already begun processing another request.
Branches
cherrypy
Robert Brewer
Fix for #388 (IPv6 support). While I was up to my elbows in the HTTP servers, I went ahead and: 1. Implemented MaxSize limits in _cphttpserver 2. Made PooledThreadServer a subclass of CherryHTTPServer, which consolidated a lot of features that each had which the other didn't, including AF_UNIX support. 3. Implemented AF_UNIX support for _cpwsgiserver. 4. Pulled the MaxSize logic out of _cpwsgiserver completely; the upshot is that both server interfaces can now use the same wrapper (now i…
Branches
cherrypy
  1. Prev
  2. 1
  3. 2
  4. 3
  5. Next