Ticket #55 (defect)
Opened 3 years ago
Last modified 2 years ago
Allow filters to raise an "InternalRedirect"
Status: closed (fixed)
| Reported by: | rdelon | Assigned to: | fumanchu |
|---|---|---|---|
| Priority: | normal | Milestone: | 2.2-beta |
| Component: | CherryPy code | Keywords: | |
| Cc: |
Change History
12/22/04 04:35:05: Modified by rdelon
- milestone changed from 2.0-beta to 2.0-final.
12/27/04 10:30:59: Modified by rdelon
- status changed from new to closed.
- resolution set to fixed.
11/21/05 12:54:30: Modified by rdelon
- status changed from closed to reopened.
- resolution deleted.
11/21/05 12:56:54: Modified by fumanchu
11/21/05 12:57:09: Modified by fumanchu
- milestone changed from 2.0-final to 2.2-beta.
11/25/05 12:56:15: Modified by fumanchu
- owner changed from rdelon to fumanchu.
- status changed from reopened to new.
11/25/05 14:06:26: Modified by fumanchu
- status changed from new to assigned.
11/26/05 17:08:55: Modified by fumanchu
The "halfbaked" URL has changed to http://nerd.newburyportion.com/2005/11/half-baked-cherrypy
12/23/05 15:39:22: Modified by fumanchu
- status changed from assigned to closed.
- resolution set to fixed.
Fixed in [879]. Only the "before_main" filter can raise InternalRedirect?. It makes little sense for the others to do so; they occur either too early or too late in the conversation. We're don't want to re-parse request headers or try to re-read the request body, and separating those method calls from their associated filters is asking for a codebase nobody will be able to understand or maintain. It would be silly for us to require *all* of the filters to be re-runnable.
So we're in a limbo state right now--the specific feature (raise InternalRedirect? in before_main) is available now, but a lot of the corner case behaviors are undefined, and will remain so until the death of filters.


See http://newburyportion.com/nerd/2005/11/halfbaked-cherrypy for some of the motivation. In CP 2.2, InternalRedirect? could be a generic "let's rewrite the objectPath" mechanism.