Thomas Broyer ha scritto:
On Sun, Dec 14, 2008 at 11:23 AM, Manlio Perillo wrote:
In my WSGI applications I always have an ending slash to the URLs.
This means that an URL without the ending slash will cause the underlying
resource to return 404 Not Found HTTP response.
What is the best method to handle this, using a regex based URL dispatcher?
I would add some kind of "catch-all entry" to dispatch to a "trailing
slash redirector" WSGI app:
routes.add("[^/]$", force_trailing_slash)
I not sure I like this.
or eventually add a WSGI middleware to each mapped application
The URL dispatcher is a WSGI middleware, so it is ok for me to do this
in the url dispatcher.
I would like to keep the numbers of middleware to a minimun (function
calls in Python are not cheap).
(...that need such a treatment, could be all of them) that would issue
a redirect to the "slash-appended" URL when needed, or just pass
through to the application otherwise:
routes.add(<regexp>, force_trailing_slash(my_application))
Yes, that's an idea.
Note that this is a special case of an "URL normalizer" middleware.
A middleware can be used as a function decorator.
This is a point in favour to use a dedicated middleware for this.
Thanks Manlio Perillo
_______________________________________________
Web-SIG mailing list
Web-SIG@python.org
Web SIG: http://www.python.org/sigs/web-sig
Unsubscribe:
http://mail.python.org/mailman/options/web-sig/archive%40mail-archive.com