The WSGI-stack passes down an environment. This might get modified, for
whatever purposes. E.g. you can alter header-values to force Pylons to
deliver i18n'd messages with a user-defined language instead of browser-based
one. You can stick values in there like identities or other objects.
Now bouncing back a redirect to a specific middlewar that then dispatches
again, this will of course *not* undo changes that have been made before.
This *can* cause havoc. It might be that some middleware makes assumptions
about certain things in the environ that because of this bouncing back and
forth are messed up.
I don't say it has to happen. It *could* happen, and lead to hard to debug
problems because your request-flow gets increasingly complex.
So just using a 302 is the safer alternative, unless you have good reasons not
to do that and are prepared to possibly sanitize your environment.
Diez