summaryrefslogtreecommitdiff
path: root/repoze/bfg/router.py
diff options
context:
space:
mode:
Diffstat (limited to 'repoze/bfg/router.py')
-rw-r--r--repoze/bfg/router.py3
1 files changed, 3 insertions, 0 deletions
diff --git a/repoze/bfg/router.py b/repoze/bfg/router.py
index 1b894129b..c87065e14 100644
--- a/repoze/bfg/router.py
+++ b/repoze/bfg/router.py
@@ -19,6 +19,7 @@ from repoze.bfg.events import NewResponse
from repoze.bfg.events import WSGIApplicationCreatedEvent
from repoze.bfg.exceptions import Forbidden
from repoze.bfg.exceptions import NotFound
+from repoze.bfg.exceptions import Respond
from repoze.bfg.request import request_factory
from repoze.bfg.threadlocal import manager
from repoze.bfg.traversal import ModelGraphTraverser
@@ -115,6 +116,8 @@ class Router(object):
environ = getattr(request, 'environ', {})
environ['repoze.bfg.message'] = msg
response = self.notfound_view(context, request)
+ except Respond, why:
+ response = why[0]
registry.has_listeners and registry.notify(NewResponse(response))