Commits

Author Commit Message Labels Comments Date
Robert Brewer
Merged the reexec branch. Autoreload now uses exec instead of spawn, and therefore never runs more than one process at a time. There's a new test for autoreload in test_states.py. The state-management for the HTTP server is a mess, by the way. I only got test_states' KeyboardInterrupt test working by inlining the client threads. So wait() and interrupts, etc. only really work when there's a single master thread. This needs fixed.
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.
Christian Wyglendowski
1. New "expires" tool for setting the "Expires" header. 2. Tests for the expires tool.
Robert Brewer
Various speedups, the only notable one being that environments are now always flattened as soon as possible.
Robert Brewer
Moved RFC 2047 encoding into http.HeaderMap. Changed HeaderMap.sorted_list to HeaderMap.output (which does not sort).
Robert Brewer
Precompile some regexes for a speed boost.
Robert Brewer
Caching tool invocation optimization.
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
Some tool optimizations.
Robert Brewer
Optimized {{{_cpwsgi.translate_headers}}}.
Robert Brewer
New ProfileAggregator class.
Robert Brewer
Moved profiling into WSGI middleware.
Robert Brewer
Reverting [1165], [1182]. Turns out it wasn't necessary for encoded request headers, and only served to slow CP by about 5%.
Robert Brewer
benchmark still needed socket-error suppression.
Robert Brewer
Oops. Forgot to make default Tidy tools.
Robert Brewer
Fixed memory-leak bug when expiring cache objects.
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
Fix for #538 (Caching must set Age response header). Also fixed a bad bug from using header_list instead of headers.
Robert Brewer
webtest.WebCase.assetHeader now returns the header value if found.
Robert Brewer
caching: Turned MemoryCache.expirationQueue into "expirations", a dict. This solves some corner cases where a queued object with a long delay would prevent queued objects of shorter delays from expiring on time. It also removes the (variable-period) sleep call buried in Queue, and now uses a single 0.1 sec poll rate.
Robert Brewer
Speedup of cache tool by caching the object only, not expirationTime or lastModified.
Robert Brewer
Cleanup of cherrypy and cherrypy.config namespaces. Changed 'log_config_options' to 'log_config'. Moved cherrypy.set_config to cherrypy.config.wrap.
Robert Brewer
Fix for missing FeedParser in Python 2.3.
Robert Brewer
Oops. Fix for the session time fix.
Robert Brewer
Fix in 2.x and trunk for #522 (redirect documentation doesn't talk about status code).
Robert Brewer
Fix for #512 (Cookie.expires should be optional).
Robert Brewer
Since request.headers converts case automatically, there's no need to transform it to lowercase to pass to FieldStorage.
Robert Brewer
Fix for #528 (Allow request body parsing for methods other than "POST" and "PUT").
Robert Brewer
CP 2.2 and 3.0 fix for #516 (Sessionfilter doesn't format properly the cookie date field "Expires" if the locale is not 'C').
Christian Wyglendowski
Fix for #533. CP3 will behave correctly and return a Fault when an XML-RPC method is not found.
  1. Prev
  2. Next