Source

CherryPy / _cprequest.py

Author Commit Message Labels Comments Date
Robert Brewer
Lots of mixedCase to lower_with_underscores.
Branches
cherrypy
Robert Brewer
Changed LateParamPageHandler to use a property instead of __getattribute__ (thanks, michele!) and added a docstring.
Branches
cherrypy
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.
Branches
cherrypy
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).
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
Split process_request_body into two flags instead (new request.body_read flag to signal that the request body has already been read).
Branches
cherrypy
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.
Branches
cherrypy
Robert Brewer
Fixes for #544 and #545 (serveFile issues) in CP 3. Fixes in CP 2 branch coming in a separate changeset.
Branches
cherrypy
Robert Brewer
More work on tools.expires: 1. Now takes 'secs' arg instead of 'e_time'. 2. The 'force' arg defaults to False now. 3. Set 'force' to True to imply ignore_indicators. 4. New cherrypy.reponse.time attribute: the time.time() which is used for the 'Date' response header.
Branches
cherrypy
Robert Brewer
Various speedups, the only notable one being that environments are now always flattened as soon as possible.
Branches
cherrypy
Robert Brewer
Moved RFC 2047 encoding into http.HeaderMap. Changed HeaderMap.sorted_list to HeaderMap.output (which does not sort).
Branches
cherrypy
Robert Brewer
Moved profiling into WSGI middleware.
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
Since request.headers converts case automatically, there's no need to transform it to lowercase to pass to FieldStorage.
Branches
cherrypy
Robert Brewer
Fix for #528 (Allow request body parsing for methods other than "POST" and "PUT").
Branches
cherrypy
Robert Brewer
Buglets.
Branches
cherrypy
Robert Brewer
encode_TEXT only for HTTP/1.1 response headers, and verify folded response headers start with linear whitespace.
Branches
cherrypy
Robert Brewer
Added support for RFC 2047 encoding and decoding of header values.
Branches
cherrypy
Robert Brewer
Finally a clean fix for #102 (Dispatch to different page handlers based on HTTP method).
Branches
cherrypy
Robert Brewer
Niggly bits.
Branches
cherrypy
Robert Brewer
New hooks namespace in config, for attaching arbitrary hooks to requests. See test_tools for an example.
Branches
cherrypy
Robert Brewer
Made cherrypy.request and .response more sef-documenting by populating their attribute dicts outside a request.
Branches
cherrypy
Robert Brewer
Heavily cleaned the namespace for Tool objects: 1. Privatized "name", "point", "merged_args" and "setup". 2. Renamed Tool.enable to Tool.__call__. 3. Set the docstring of each Tool instance to the docstring of the tool's callable. Combined with the above, this means calltips should pick up the calltip of the callable. 4. Tools now copy the param names of self.callable to self.attributes. This allows users to "import tools" and then get conf…
Branches
cherrypy
Robert Brewer
Removed the wrap method from Tool, since the enable method should meet all cases better. Also fixed a bug where request.hooks was not being reinitialized on internalredirect. Also added code to guard against recursive internalredirects. Finally, fixed a couple of dict iterations that were missing iteritems.
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
Got rid of _cperror.Error base class, and "from _cperror import *" in top level.
Branches
cherrypy
Robert Brewer
httptools.Version was overengineered. Shame on me. Using tuples gives a 2-3% speed boost.
Branches
cherrypy
Robert Brewer
Sometimes I really hate .pyc's
Branches
cherrypy
Robert Brewer
Merged _cputil into _cprequest.
Branches
cherrypy
  1. Prev
  2. 1
  3. 2
  4. Next