summaryrefslogtreecommitdiff
path: root/repoze
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2010-09-06 00:45:10 +0000
committerChris McDonough <chrism@agendaless.com>2010-09-06 00:45:10 +0000
commit0d1e9c1fcfc50f3c600fa4ad1e22d3e5c3ec91c4 (patch)
tree48790a5a47259a75ffe0996df768cfcbc6fbd036 /repoze
parent1008dc12c84d0f4dd65b37c08c0bf4723dababd1 (diff)
downloadpyramid-0d1e9c1fcfc50f3c600fa4ad1e22d3e5c3ec91c4.tar.gz
pyramid-0d1e9c1fcfc50f3c600fa4ad1e22d3e5c3ec91c4.tar.bz2
pyramid-0d1e9c1fcfc50f3c600fa4ad1e22d3e5c3ec91c4.zip
- Process the response callbacks and the NewResponse event earlier, to
enable mutations to the response to take effect.
Diffstat (limited to 'repoze')
-rw-r--r--repoze/bfg/router.py13
1 files changed, 7 insertions, 6 deletions
diff --git a/repoze/bfg/router.py b/repoze/bfg/router.py
index 277ee559b..f976dfea2 100644
--- a/repoze/bfg/router.py
+++ b/repoze/bfg/router.py
@@ -144,6 +144,13 @@ class Router(object):
attrs['exception'] = why
response = view_callable(why, request)
+ # process the response
+
+ if request.response_callbacks:
+ request._process_response_callbacks(response)
+
+ has_listeners and registry.notify(NewResponse(request, response))
+
try:
headers = response.headerlist
app_iter = response.app_iter
@@ -153,12 +160,6 @@ class Router(object):
'Non-response object returned from view named %s '
'(and no renderer): %r' % (view_name, response))
- if request.response_callbacks:
- request._process_response_callbacks(response)
-
- # process the response
- has_listeners and registry.notify(NewResponse(request, response))
-
start_response(status, headers)
return app_iter