Merge "Provide request to Middleware.process_response()"

This commit is contained in:
Jenkins 2012-02-29 03:21:02 +00:00 committed by Gerrit Code Review
commit 9b522d7ee8
2 changed files with 8 additions and 13 deletions

View File

@ -260,7 +260,7 @@ class Middleware(Application):
def __init__(self, application): def __init__(self, application):
self.application = application self.application = application
def process_request(self, req): def process_request(self, request):
"""Called on each request. """Called on each request.
If this returns None, the next application down the stack will be If this returns None, the next application down the stack will be
@ -270,17 +270,17 @@ class Middleware(Application):
""" """
return None return None
def process_response(self, response): def process_response(self, request, response):
"""Do whatever you'd like to the response.""" """Do whatever you'd like to the response, based on the request."""
return response return response
@webob.dec.wsgify(RequestClass=Request) @webob.dec.wsgify(RequestClass=Request)
def __call__(self, req): def __call__(self, request):
response = self.process_request(req) response = self.process_request(request)
if response: if response:
return response return response
response = req.get_response(self.application) response = request.get_response(self.application)
return self.process_response(response) return self.process_response(request, response)
class Debug(Middleware): class Debug(Middleware):

View File

@ -130,12 +130,6 @@ class JsonBodyMiddleware(wsgi.Middleware):
class XmlBodyMiddleware(wsgi.Middleware): class XmlBodyMiddleware(wsgi.Middleware):
"""De/serializes XML to/from JSON.""" """De/serializes XML to/from JSON."""
@webob.dec.wsgify(RequestClass=wsgi.Request)
def __call__(self, request):
self.process_request(request)
response = request.get_response(self.application)
self.process_response(request, response)
return response
def process_request(self, request): def process_request(self, request):
"""Transform the request from XML to JSON.""" """Transform the request from XML to JSON."""
@ -153,3 +147,4 @@ class XmlBodyMiddleware(wsgi.Middleware):
response.body = serializer.to_xml(json.loads(response.body)) response.body = serializer.to_xml(json.loads(response.body))
except: except:
raise exception.Error(message=response.body) raise exception.Error(message=response.body)
return response