Source

CherryPy / cherrypy / _cptree.py

Author Commit Message Labels Comments Date
Robert Brewer
Moved all bus plugins onto the engine object itself, and fixed a couple bus details along the way.
Robert Brewer
Audit of logging: 1. cherrypy.log now defaults to INFO. 2. Bus.log now takes a 'level=INFO' arg. 3. 'log' channel subscribers now must accept a 'level' arg. 4. Some bus plugin messages upgraded to WARN or ERROR. 5. Some CP core messages upgraded to ERROR. 6. log.screen move to stderr polished. See #747.
Robert Brewer
Working cherryd daemon script. New FlupFCGIServer wrapper in servers.py. Also added a config arg to cherrypy.Application.
Robert Brewer
Made Application copy initial config from its class.
Robert Brewer
Some bus/plugin improvements.
Robert Brewer
Fix for #725 (cherrypy.url should default to emitting server-relative URL's). It doesn't default (that would break backward compatibility), but at least there's an option for it now.
Robert Brewer
Reworked WSPBus plugins; most now have a 'subscribe' method which attaches them to the bus in a separate step from init. This allows frameworks to create canonical plugin instances but delay or skip their subscription. Some plugins' method names changed (from e.g. {{{__call__}}} to {{{start}}}) to take advantage of a new SimplePlugin base class. The daemonize func is now a Daemonizer class for this reason. Also removed the SubscribedObject class; it was too much magic. The few consumers of it in CherryPy revert to calling canonical plugin instances instead.
Robert Brewer
Trunk fix for #677 (_cpwsgi requestLine: PATH_INFO SCRIPT_NAME).
Robert Brewer
RFC 2606 updates (official example domains).
Robert Brewer
Docstring updates.
Robert Brewer
New pywebd module. Trunk is now "3.1alpha".
Robert Brewer
Promoted namespace dicts to their own class (so they can share docs).
Robert Brewer
Docstrings, plus Application now copies its cls.namespaces into self.namespaces.
Robert Brewer
Allow loggers to use a different logging root (e.g. "tg.error" instead of "cherrypy.error").
Robert Brewer
Transformed _cptree.wsgi_handler function into _cpwsgi.CPWSGIApp class (a delegate for the Application object), and merged in the wsgi.pipeline functionality. This removes the need to call wsgi.pipeline(app) before tree.mount.
Robert Brewer
Better support for custom toolboxes and namespaces: 1. Each Toolbox is now its own config namespace handler, and self-registers as such. 2. The global, app, and request contexts now each allow (but do not force) config namespace handlers to be PEP 343-style context managers, with {{{__enter__}}} and {{{__exit__}}} methods. 3. Each Toolbox and Tool has a new "namespace" attribute. Each Tool automatically inherits the namespace attribute of its To…
Robert Brewer
Fix for #579 (when query_string is None).
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.
  1. Prev
  2. 1
  3. 2
  4. Next