sorry, there was a typo. Here is the corrected version.
import web
class middleware:
"""Helper to convert wsgi middleware to application processor.
Usage:
app.add_processor(middleware(mw))
"""
count = 0
def __init__(self, middleware):
self.name = self._get_name()
self.wsgi = middleware(self.fake_wsgi_app)
def _get_name(self):
middleware.count += 1
return "_wsgi_middleware_handler_%d" % (middleware.count)
def __call__(self, handler):
web.ctx[self.name] = handler
environ = web.ctx.environ
def start_response(status, headers):
web.ctx.status = status
web.ctx.headers = headers
return self.wsgi(environ, start_response)
def fake_wsgi_app(self, environ, start_response):
handler = web.ctx[self.name]
try:
out = handler()
except web.HTTPError, e:
out = e.data
start_response(web.ctx.status, web.ctx.headers)
return out
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"web.py" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at http://groups.google.com/group/webpy?hl=en
-~----------~----~----~----~------~----~------~--~---