summaryrefslogtreecommitdiff
path: root/cherrypy/lib/cptools.py
Commit message (Collapse)AuthorAgeFilesLines
...
* trunk - avoiding the mutating default arg anti-pattern. :)Lakin Wecker2009-05-311-1/+3
|
* Fixed autovary via an ignore arg; it broke due to _cpreqbody touching some ↵Robert Brewer2009-05-311-2/+3
| | | | headers.
* trunk - Porting the cherrypy.lib.httputil name change. It'll be easier to ↵Lakin Wecker2009-05-311-8/+8
| | | | 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.
* [2141] raised the default error log level from DEBUG to INFO. However, the ↵Lakin Wecker2009-05-181-1/+1
| | | | log_traceback tool sets the default severity to DEBUG. This results in a default error log that does not include tracebacks. I think it's worthwhile to up the error log's default level to WARNING, and set the default for both cherrypy.log.error() and log_traceback() to ERROR.
* Added tools.autovaryRobert Brewer2009-05-061-0/+46
|
* Fixing a buglet when autoreloading zipimports.Robert Brewer2009-05-021-1/+1
|
* Fix for #906 (Firefox displays a popup on redirect). Reverted [2149] and ↵Robert Brewer2009-03-241-2/+2
| | | | changed the trailing slash tool to prefer 301.
* Changed HTTPRedirect to default to 307/302 if not GET. Also fixed ↵Robert Brewer2009-03-111-0/+6
| | | | SessionAuth to only accept POST for do_login/do_logout (since those behaviors are not safe and should not be cached).
* New status arg to tools.trailing_slash (to help force 307's for XHR's).Robert Brewer2009-02-211-3/+3
|
* Doc tweaks for request.base, tools.proxy.base.Robert Brewer2009-01-281-1/+2
|
* Got rid of all the DeprecationWarning's when using Python 2.6.Robert Brewer2009-01-121-2/+6
|
* * Test case and fix for Ticket #780nick1252008-07-091-3/+3
|
* Fix for #782 (X-Forwarded-Ssl).Robert Brewer2008-06-081-1/+7
|
* Audit of logging:Robert Brewer2008-04-051-2/+1
| | | | | | | | | 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.
* Stuck cherrypy.url in log_hooks.Robert Brewer2008-03-141-1/+2
|
* Added a 'severity' arg to the log_tracebacks tool.Robert Brewer2008-02-051-3/+4
|
* Fix for #745 (Make a builtin tool which logs all hooks for a given request).Robert Brewer2007-10-301-0/+18
|
* Fix for #740 (Default server.socket_host to IPv4 address).Robert Brewer2007-10-261-2/+2
|
* Implemented a login attribute for the request and answered #653Sylvain Hellegouarch2007-02-071-2/+3
|
* Clearer trailing-slash logic using endswith instead of slicing.Robert Brewer2006-12-021-2/+2
|
* Solution for #602 (ETag autotags are incorrect on 304):Robert Brewer2006-11-221-20/+33
| | | | | | | 1. Added WARNING to docstring. 2. Only generate ETag if status == 200. 3. Now performs If-Match, If-None-Match tests even if no ETag provided. 4. Corrected "< 299" to "<= 299".
* Fix for #600 (InternalRedirect does double duty). This dispwrappers.patch ↵Robert Brewer2006-11-161-32/+0
| | | | changes vhost and xmlrpc from using InternalRedirect (which rewrites request.path_info) to dispatch wrapper functions (which do not).
* Some tool buglets and docs.Robert Brewer2006-11-071-0/+7
|
* New tools.accept(media). See test_misc_tools.py for usage.Robert Brewer2006-11-031-0/+64
|
* Moved _cprequest.flattener to cherrypy.tools.flatten.Robert Brewer2006-10-271-0/+17
|
* Probable fix for #583 (session_auth login_screen).Robert Brewer2006-10-261-1/+1
|
* Trunk fix for #577 (GzipFilter doesn't force an update of the Content-Length ↵Robert Brewer2006-10-201-0/+6
| | | | header). All code which could change the length of response.body should delete the Content-Length header (if already set).
* Fix for #562 (Redirect for slash doesn't use tools.proxy.base). Moved slash ↵Robert Brewer2006-09-161-0/+18
| | | | checking into new tools.trailing_slash(missing=True, extra=False), which is on by default. The core now sets request.is_index to allow such tools to work. In addition, if that tool is off, mismatched slashes will be corrected in cherrypy.url.
* Collapsed request.url and tree.url into a single cherrypy.url function.Robert Brewer2006-09-111-1/+1
|
* Got rid of cherrypy.request.path. Use request.script_name + ↵Robert Brewer2006-09-091-1/+1
| | | | request.path_info instead (usually, just path_info is what you really want).
* New scheme arg to tools.proxy.Robert Brewer2006-09-061-9/+14
|
* Improved tree.url() to include base. Also replaced request.browser_url with ↵Robert Brewer2006-09-061-1/+1
| | | | request.url().
* New tools.referer, and moved test_response_headers into new test_misc_tools.Robert Brewer2006-09-041-0/+24
|
* More SessionAuth cleanups. Replaced 'login' with 'username' whenever ↵Robert Brewer2006-09-021-23/+19
| | | | appropriate ('login' should be used as the verb only ('log in'), not as a synonym for 'username'). Also made symmetric do_* and on_* methods. The new on_check method replaces the load_user_by_username method--this facilitates a user-supplied fix for #224 (store the user details in the session) by passing the same loaduserbyusername callback to tools.session_auth.on_login instead of tools.session_auth.on_check.
* session_auth really should NOT use thread_data.Robert Brewer2006-09-021-6/+3
|
* cptools.session_auth was growing an unwieldy number of parameters, so I ↵Robert Brewer2006-09-021-57/+82
| | | | moved it from a functional approach to an object. Also moved _cptools.setargs to Tool._setargs.
* Fix for #535 (Apache re-processes Range headers). _cpmodpy now uses a new ↵Robert Brewer2006-09-021-0/+13
| | | | "ignore_headers(['Range'])" Tool by default.
* Fix for #433 (mapPathToObject should remove a trailing /, not just add it). ↵Robert Brewer2006-08-311-0/+1
| | | | CP 3 only. Configurable now via request.redirect_on_extra_slash and request.redirect_on_missing_slash. Also broke the slash logic out of find_handler, so it's more reusable.
* New tools.err_redirect.internal arg.Robert Brewer2006-08-281-3/+6
|
* Tweaks to docs, line lengths, tests, and number of serving lookups.Robert Brewer2006-08-281-19/+28
|
* Fixes to some typos in [1274].Robert Brewer2006-08-241-1/+1
|
* Made all imports absolute "just in case" for Python 2.5.Robert Brewer2006-08-241-1/+1
|
* tool docstrings.Robert Brewer2006-08-221-2/+13
|
* Fix to etags when 412 has already been raised.Robert Brewer2006-08-221-2/+2
|
* Fix for #555 (Error propagation in hooks). Failsafe flags are now ↵Robert Brewer2006-08-211-0/+1
| | | | | | per-callback, not per-callpoint. If you want a given hook to be failsafe, either set callback.failsafe = True or (if you cannot do that) call attach(point, callback, failsafe=True). The previous semantic of 'failsafe' unfortunately also meant 'fail silently'. This has been corrected; now, when errors occur during the run of callbacks for a given call point, the last one will be raised (after all failsafe callbacks have completed).
* Lots of mixedCase to lower_with_underscores.Robert Brewer2006-08-121-2/+2
|
* X-Forwarded-For should overwrite remote.ip, not remote.name.Robert Brewer2006-08-111-1/+6
|
* Revamped session module. Much better tests. Cleanup is now in a separate, ↵Robert Brewer2006-08-101-8/+1
| | | | cycling Timer thread (with an entry in on_stop_engine_list). Moved cherrypy.request._session to cherrypy.serving.session.
* Replaced request.remote_addr, remote_port, and remote_host with a single ↵Robert Brewer2006-08-071-3/+3
| | | | "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.
* Eliminated 'default_content_type' config entry by moving ↵Robert Brewer2006-08-061-3/+2
| | | | tools.response_headers to on_start_resource. If anyone still needs response headers to be set late, they can call tools.response_headers later, either in code or via a hook declared in config.