diff options
Diffstat (limited to 'repoze/bfg/router.py')
| -rw-r--r-- | repoze/bfg/router.py | 12 |
1 files changed, 10 insertions, 2 deletions
diff --git a/repoze/bfg/router.py b/repoze/bfg/router.py index 4e5722be2..03f93857c 100644 --- a/repoze/bfg/router.py +++ b/repoze/bfg/router.py @@ -121,13 +121,21 @@ class Router(object): registry.has_listeners and registry.notify(NewResponse(response)) try: - start_response(response.status, response.headerlist) - return response.app_iter + headers = response.headerlist + app_iter = response.app_iter + status = response.status except AttributeError: raise ValueError( 'Non-response object returned from view named %s ' '(and no renderer): %r' % (view_name, response)) + if 'global_response_headers' in attrs: + headers = list(headers) + headers.extend(attrs['global_response_headers']) + + start_response(response.status, headers) + return response.app_iter + finally: manager.pop() |
