Source

CherryPy / cherrypy / _cptree.py

Author Commit Message Labels Comments Date
Robert Brewer
Removed app.guess_abs_path. Use cherrypy.url(script_name=app.script_name) instead.
Robert Brewer
Collapsed request.url and tree.url into a single cherrypy.url function.
Robert Brewer
Got rid of cherrypy.request.path. Use request.script_name + request.path_info instead (usually, just path_info is what you really want).
Robert Brewer
Improved tree.url() to include base. Also replaced request.browser_url with request.url().
Robert Brewer
Changed every instance of 'conf' in the API to 'config'.
Robert Brewer
Moved _wsgi_callable to _cptree, and we now import _cpwsgi as cherrypy.wsgi. Also made {{{App.__call__}}} route to {{{App.wsgiapp}}} so the latter can be replaced by user code (i.e. it's not a special method).
Robert Brewer
Moved merge out of {{{Application.__init__}}} so custom namespaces can be defined per-app. Also allow Tree.mount to accept an Application instance (instead of a root which gets wrapped in an Application).
Robert Brewer
Oops. Forgot the namespaces for cherrypy.tree.
Robert Brewer
Logging cleanups: 1. Moved LogManager to new _cplogging module. 2. Apps now possess a 'log' attribute (a LogManager instance that includes both error and access) instead of separate error_log and access_log. 3. Fixed broken default error_log.
Robert Brewer
API and docstring cleanups: 1. Removed WrongConfigValue, decorate, decorate_all, and ExposeItems. 2. Moved cherrypy.logtime to cherrypy.log.time. 3. Reduced cherrypy.config.globalconf back to just cherrypy.config. 4. Moved _cpconfig.default_conf to config.defaults. .
Robert Brewer
More (final?) config overhaul work: 1. Removed cherrypy.config.get! Instead, you should directly inspect cherrypy.request, response, server, etc. Note that request.config.get still works fine. 2. a) cherrypy.log is now an instance of LogManager. It's still callable, but now is the object you inspect instead of calling config.get("log*"). b) cherrypy.log_access is now cherrypy.log.access. 3. All threads should now have access to d…
Robert Brewer
Overhaul of config system: 1. New docstring for config module! 2. Put all entries into a config namespace. New deadlock, log, request and response namespaces. 3. Request and response entries now directly modify attributes of cherrypy.request and .response, and consumer code looks up those attributes, not config. This also allows interactive inspection of defaults. 4. Removed 'log_config' config entry. Use engine.on_star…
Robert Brewer
Fix for #553 (pure WSGI apps on the tree). Request.app now MUST be a cherrypy.Application instance (not None) before Request.run() is called.
Robert Brewer
Cosmetics.
Robert Brewer
WSGI improvements from Christian's cp3-wsgi-remix branch: 1. cherrypy.Application is now a WSGI callable. 2. cherrypy.tree may now be used as a WSGI dispatcher by simply calling it. This replaces the _cpwsgi.wsgiApp function. 3. You may now mount arbitrary WSGI apps using tree.graft(wsgi callable, script name). 4. If you set an Application object's script_name to None, it will try to pull script_name from cherrypy.request.wsgi_environ['SCRIPT_NAME'].…
Robert Brewer
Much Better Logging (see #256). Apps now have their own access and error loggers (whose config entries must be at "/"), and the global access logger has been removed (although you can make one manually if you like).
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.
Robert Brewer
Reinstated default favicon (when an app is mounted at webserver root).
Robert Brewer
tree.mount now strips trailing slash on script_name.
Robert Brewer
New tree.app.guess_abs_path method.
Robert Brewer
Made tree.Application.script_name, and it now defaults to "", not "/".
Robert Brewer
Bah. I knew I had config.merge in there for a reason.
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(…
Robert Brewer
Bugfix in Tree if cherrypy.root is None.
Robert Brewer
cherrypy.tree.mount_points now includes {"/": cherrypy.root} even if tree.mount is never called.
Robert Brewer
Fix for #446 (tree.mount should optionally set its own baseurl from config).
Robert Brewer
New mount_point and url methods on cherrypy.tree.
Robert Brewer
Oops. Forgot to assign cherrypy.root if missing.
Robert Brewer
Fix for #145. See the ticket for details about this fix.