Commits

Robert Brewer
committed
4d848dc2006-11-17

InternalRedirect changes:

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.