Commits

Author Commit Message Labels Comments Date
Robert Brewer
Final fix for #461 and #455: 1. There's a new _cpengine module which isolates the "app server" from the "HTTP server" state-management logic. _cpserver.Server inherits from _cpengine.Engine. The _cpengine module should remain clean so that it can be used with few changes in CP 3, at which point we can rewrite the http server API. 2. Fixed an issue with the native HTTP server--it wasn't truly restartable (closed but didn't r…
Christian Wyglendowski
[965] is the first of two changesets to modify some internal behavior. Unfortunately, it temporarily broke CP in the process. This changeset is a temporary fix to that temporary problem which Robert is addressing more completely.
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.
Remi Delon
Fixed typo in session_filter preventing people from overwritting generate_session_id
Remi Delon
Use "expires" instead of "max-age" for storing session cookie, due to IE bug :(
Robert Brewer
Fix for #456: No readlines() method in lib.httptools.SizeCheckWrapper
Remi Delon
Don't disable sessions automatically if static_filter is enabled ... Some people may want to use session_authenticate_filter for serving static content so they need sessions in that case ... Note that in the most common case (ie: not needing sessions for serving static content), the session data won't be loaded/saved due to the new lazy session data handling (see [940]), so there won't be any speed penalty
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.
Remi Delon
Fixed small bug in session filter
Robert Brewer
Moved some logic (the transformation of response headers from a dict to a list) out of _cphttptools and into httptools.
Robert Brewer
Less-confusing text in tut09_files.py docstring.
Robert Brewer
Test that configs for multiple apps (using the tree.mount syntax) don't collide.
Robert Brewer
Oops. Forgot to take out a debug line.
Robert Brewer
Fix for server.start lowercase names (serverClass = None is different than serverClass = missing).
Christian Wyglendowski
When running under _cphttpserver, request.wsgi_environ is now set to an empty dictionary. It will still evaluate as boolean False, but will allow for the following code: val = cherrypy.request.wsgi_environ.get('SOME_VAR', 'some default') Rather than: if cherrypy.request.wsgi_environ: val = cherrypy.request.wsgi_environ['SOME_VAR'] else: val = 'some default'
Christian Wyglendowski
API doc entry for cherrypy.request.wsgi_environ
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.
Remi Delon
Preparing for 2.2.0beta release
Tags
cherrypy-2.2.0beta
Remi Delon
Added "cherrypy.lowercase_api" switch so that users can say "I'm using the new lowercase API" and get a (small) speed boost from it.
Robert Brewer
Fixes for header.elements now returning [] instead of None.
Sylvain Hellegouarch
Fix #449
Remi Delon
Better document session.acquire_lock()
Remi Delon
Deprecated "initOnly" and "serverClass". New names are "init_only" and "server_class"
Remi Delon
Deprecating simpleCookie (use "simple_cookie" instead)
Remi Delon
Wrote script to test the session filter in a realistic situation. The script simulates lots of concurrent requests *from the same browser*. Right now this script is standalone and is not integrated in the test suite. This script already allowed me to catch bugs in the sessionfilter.
Remi Delon
Improvements to sessionfilter: using lazy loading of session data (so data is never loaded/saved if user doesn't access it). Make acquire_lock work as expected.
Remi Delon
Reverting changeset [926]: Removing "is_app_root" proof of concept since we decided to go with the tree.mount() route for now.
Remi Delon
Fixed silly mistake from previous changeset in sessionfilter. pep8-ified code
Remi Delon
Catch case where clean_up is called by 2 concurrent threads
Robert Brewer
Fix for #446 (tree.mount should optionally set its own baseurl from config).
  1. Prev
  2. Next