[Web-SIG] PEP 444 (aka Web3)
Ian Bicking
ianb at colorstudy.com
Mon Sep 20 00:41:51 CEST 2010
On Sun, Sep 19, 2010 at 11:32 AM, Chris McDonough <chrism at plope.com> wrote:
> > I propose to write in the PEP that a middleware should provide an
> > "app" attribute to get the wrapped application or middleware.
> > It seems to be the most common name used out there.
>
> We can't really mandate this because middleware is not required to be an
> instance. It can be a function.
>
We could suggest it, and suggest the attribute name. Composites, lazy
loading middleware, or a bunch of other situations can break it... but it's
nice for introspection tools to at least be able to attempt to run down the
chain. Middleware is almost always a closure if it's a function, I believe,
so you could still do:
def caps(app):
def replacement_app(environ):
status, headers, body = app(environ)
body = [''.join(body).upper()]
return status, headers, body
replacement_app.app = app
return replacement_app
--
Ian Bicking | http://blog.ianbicking.org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/web-sig/attachments/20100919/5c837903/attachment.html>
More information about the Web-SIG
mailing list