Fixed #894 -- Moved response middleware call to base.py so that exceptions in that middleware get processed by the standard exception handling. As a nice side effect, this cuts down on a bit of redundant code.

git-svn-id: http://code.djangoproject.com/svn/django/trunk@2358 bcc190cf-cafb-0310-a4f2-bffc1f526a37
This commit is contained in:
Adrian Holovaty 2006-02-18 23:41:17 +00:00
parent 53ca15cd78
commit 2c443df341
3 changed files with 4 additions and 8 deletions

View File

@ -86,6 +86,10 @@ class BaseHandler:
if response is None: if response is None:
raise ValueError, "The view %s.%s didn't return an HttpResponse object." % (callback.__module__, callback.func_name) raise ValueError, "The view %s.%s didn't return an HttpResponse object." % (callback.__module__, callback.func_name)
# Apply response middleware
for middleware_method in self._response_middleware:
response = middleware_method(request, response)
return response return response
except exceptions.Http404, e: except exceptions.Http404, e:
if DEBUG: if DEBUG:

View File

@ -144,10 +144,6 @@ class ModPythonHandler(BaseHandler):
finally: finally:
db.db.close() db.db.close()
# Apply response middleware
for middleware_method in self._response_middleware:
response = middleware_method(request, response)
# Convert our custom HttpResponse object back into the mod_python req. # Convert our custom HttpResponse object back into the mod_python req.
populate_apache_request(response, req) populate_apache_request(response, req)
return 0 # mod_python.apache.OK return 0 # mod_python.apache.OK

View File

@ -160,10 +160,6 @@ class WSGIHandler(BaseHandler):
finally: finally:
db.db.close() db.db.close()
# Apply response middleware
for middleware_method in self._response_middleware:
response = middleware_method(request, response)
try: try:
status_text = STATUS_CODE_TEXT[response.status_code] status_text = STATUS_CODE_TEXT[response.status_code]
except KeyError: except KeyError: