diff options
| author | Chris McDonough <chrism@agendaless.com> | 2010-09-06 00:45:10 +0000 |
|---|---|---|
| committer | Chris McDonough <chrism@agendaless.com> | 2010-09-06 00:45:10 +0000 |
| commit | 0d1e9c1fcfc50f3c600fa4ad1e22d3e5c3ec91c4 (patch) | |
| tree | 48790a5a47259a75ffe0996df768cfcbc6fbd036 /repoze | |
| parent | 1008dc12c84d0f4dd65b37c08c0bf4723dababd1 (diff) | |
| download | pyramid-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.py | 13 |
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 |
