| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
| |
|
| |
|
|
|
|
| |
which case it creates the decorator.
|
|
|
|
| |
subscribing a callback.
|
| |
|
| |
|
|
|
|
|
|
|
| |
Also fix usage of undeclared variables inroduces in commits:
* 9913ddbc3
* c4b693e11
* d3c9807ba
|
|
|
|
| |
pre-commit run double-quote-string-fixer --all-files
|
| |
|
|
|
|
| |
which has no equivalent on Python 3.
|
|
|
|
| |
directly.
|
| |
|
| |
|
|
|
|
|
| |
--HG--
branch : autopep8
|
|
|
|
| |
sed -i '' -e 's/ *$//' `find cherrypy -name '*.py'`
|
| |
|
| |
|
|
|
|
| |
goes in the py2 folder, and we can use a single setup.py to install either, depending on the version of Python that runs setup.py install.
|
| |
|
| |
|
|
|
|
| |
PythonOption cherrypy.setup instead of just one.).
|
| |
|
|
|
|
| |
this time normalizing StringIO imports.
|
|
|
|
| |
maintain two released branches if the modules are named the same. However, in the 2.6 branch we'll leave cherrypy.lib.http working and deprecate it for 3.3.
|
|
|
|
| |
details along the way.
|
|
|
|
| |
available.
|
|
|
|
| |
can take a bare module to import (without having to call a ::function).
|
|
|
|
|
|
|
|
|
| |
Finally got all the bus operations where I want em:
1. There's a new EXITING state
2. bus.block() waits for EXITING now instead of STOPPED, and also wait for all threads to exit, so the main thread doesn't exit (and run atexit callbacks) too early.
3. bus.exit() no longer calls sys.exit. Instead, exit is used to signal the main thread to unblock and terminate normally. This means some callers of stop need(ed) to be changed to call exit instead.
4. bus.block() no longer takes a state arg; it's now only for use by the main thread. Call bus.wait(state) to wait for other states.
|
|
|
|
|
|
|
|
|
| |
1. Change restsrv.servers.ServerManager (multiple httpservers) to ServerAdapter (one httpserver).
2. cherrypy.server is now a subclass of ServerAdapter, and is subscribed by default.
3. Made several plugin methods idempotent that weren't before.
4. Added names to win32 bus state events. Also fixed a buglet in win32 block().
5. Added repr to wspbus.states.State objects.
6. Did ''not'' change any callers of cherrypy.server other than what was necessary, to help prove the fixes work without breaking compatibility. Future changesets will be used to modify docs and tutorials n such.
|
| |
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
1. Renamed base.Engine to wspbus.Bus and made it generally useful in isolation.
2. Renamed 'reexec' channel to 'restart'.
3. Merged engine.wait into bus.block. The block method now takes an optional 'state' arg.
4. Made the SignalHandler auto-register some signals on init.
5. Added win32events for all states.
6. Made all states into sentinels instead of ints. New wspbus.states (and bus.states) enums.
7. Added an 'exit' channel.
8. The stop event now publishes even if state is already STOPPED.
9. Added a Bus instance to wspbus (instead of restsrv init).
|
| |
|
| |
|
| |
|
| |
|
|
|
|
| |
server.base method, which simplifies cherrypy.url. Finally, cherrypy._serving is promoted to cherrypy.serving, and has a new "load" method.
|
|
|
|
|
|
|
|
|
|
|
| |
1. Moved InternalRedirect out of the Request object, so that an IR creates a separate Request object per redirect. This makes the design of hooks and tools (both builtin and user-defined) much simpler and safer.
2. New _cpwsgi.InternalRedirector for the WSGI implementation. Users who do not use InternalRedirects at all can remove this from the wsgi pipeline if they wish.
3. InternalRedirect trap implemented in _cpmodpy.py
4. Custom servers/gateways will have to write their own handling for InternalRedirect being thrown from request.run.
5. Request.redirections (a list of URL's) removed in favor of request.prev, which points to the previous Request object in a redirection chain. Defaults to None.
6. Replace "request.recursive" (per request) with "wsgi.iredir.recursive" (per app).
7. Removed Request.body_read and .headers_read.
8. New Request.throws tuple of exceptions which should not be trapped.
|
| |
|
|
|
|
| |
"ignore_headers(['Range'])" Tool by default.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
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_start_engine_list.append(config.log_config) instead.
5. Old 'dispatch' entry is now 'request.dispatch'.
6. New log entries: log.error.file, log.error.function, log.access.file, log.access.function, log.screen.
7. 'server.max_request_body_size' is now 'request.max_body_size'.
8. environments now only apply to globalconf.
9. The 'development' environment has been removed, since its settings were all the default anyway.
10. The 'embedded' environment has been removed, since it duplicates the 'production' environment now.
11. There's a new 'test_suite' environment.
12. Removed log_file_not_found (from static.py).
Something still needs to be done to config.wrap, so it can take dotted names as kwarg keys.
|
|
|
|
| |
cherrypy.Application instance (not None) before Request.run() is called.
|
|
|
|
| |
more useful.
|
| |
|
|
|
|
| |
"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.
|
|
|
|
|
|
|
| |
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_PROTOCOL (which is a misnomer, it really should have been REQUEST_PROTOCOL).
3. path unquoting was also moved from _cprequest to _cpwsgiserver (like most other WSGI servers).
4. New test for absoluteURI in the Request-Line.
|
|
|
|
| |
dropped redundant cookie logic in _cpmodpy.
|
|
|
|
| |
loggers (whose config entries must be at "/"), and the global access logger has been removed (although you can make one manually if you like).
|
| |
|