Commits

Author Commit Message Labels Comments Date
Robert Brewer
More-explicit error when illegally passing positional arguments to tool decorators. Also, a new tool test for multiple decorators with kwargs.
Robert Brewer
Changed LateParamPageHandler to use a property instead of __getattribute__ (thanks, michele!) and added a docstring.
Robert Brewer
X-Forwarded-For should overwrite remote.ip, not remote.name.
Robert Brewer
Revamped session module. Much better tests. Cleanup is now in a separate, cycling Timer thread (with an entry in on_stop_engine_list). Moved cherrypy.request._session to cherrypy.serving.session.
Robert Brewer
New deadlock monitor which sets Response.timed_out to True if Response.time < now - config.get("deadlock_timeout"). The request thread periodically checkes Response.timed_out and raises TimeoutError if it is True. Current checks are in HookMap.run, Request.respond, Body.__set__, and Response.finalize, more can be added later if needed.
Robert Brewer
Missing call to request.close() on KeyboardInterrupt, SystemExit within buffered page handler.
Robert Brewer
Moved request.handler from a function (with vpath, and request.params included in cell refs) to an instance of a callable PageHandler class (with vpath, params included as .args, .kwargs attributes). Instances of HTTPRedirect and HTTPError (including NotFound) can now also be set directly as request.handler (they raise self when called).
Robert Brewer
Removed dependency on pyconquer inside test_states.
Christian Wyglendowski
Giving NotReadyRequest a protocol attribute.
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
Split process_request_body into two flags instead (new request.body_read flag to signal that the request body has already been read).
Robert Brewer
Eliminated 'default_content_type' config entry by moving tools.response_headers to on_start_resource. If anyone still needs response headers to be set late, they can call tools.response_headers later, either in code or via a hook declared in config.
Robert Brewer
Removed last useless cherrypy.debug test.
Robert Brewer
Fix for #438 (autoreload.py: Server fails to start if a .pyc is imported with no corresponding .py).
Robert Brewer
Changed server.start to server.quickstart, and server.start_all to server.start.
Robert Brewer
CherryPyWSGIServer now clears its interrupt on start().
Robert Brewer
Fix for #537 (Support for listening on multiple ports). cherrypy.server now has no "httpserver" attribute; instead, it has an "httpservers" attribute, a dict of the form {server object: bind_addr} where bind_addr is usually (host, port). New start_all method. Calling stop stops all httpservers, and restart stops all then restarts all.
Robert Brewer
Better docstring for CherryPyWSGIServer.
Robert Brewer
Fix for testExpiresTool when behind Apache.
Robert Brewer
silently disable signal handlers when running behind Apache (i.e. when "import _cprequest" is not done in the main thread).
Robert Brewer
Fix for #542 (_cpwsgiserver should concatenate multiple incoming headers).
Robert Brewer
Oops. Windows doesn't have SIGHUP.
Robert Brewer
Fix for #540.
Robert Brewer
Fixes for #544 and #545 (serveFile issues) in CP 3. Fixes in CP 2 branch coming in a separate changeset.
Robert Brewer
If not cacheable, we shouldn't even set Expires.
Robert Brewer
Test and fix for bug in expires tool.
Robert Brewer
Oops. Forgot a file.
Robert Brewer
Py 2.3 doesn't do multiline imports.
  1. Prev
  2. Next