summaryrefslogtreecommitdiff
path: root/repoze/bfg/router.py
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2008-07-31 06:17:31 +0000
committerChris McDonough <chrism@agendaless.com>2008-07-31 06:17:31 +0000
commita0423aedb4abaf12b4008c0b229ec0ecad4ddfd8 (patch)
tree6193a7bce3bdb05c6c9e81921d592b769cd071b1 /repoze/bfg/router.py
parent54302499c5ff609b4c615a7ae1d341e7d652dae3 (diff)
downloadpyramid-a0423aedb4abaf12b4008c0b229ec0ecad4ddfd8.tar.gz
pyramid-a0423aedb4abaf12b4008c0b229ec0ecad4ddfd8.tar.bz2
pyramid-a0423aedb4abaf12b4008c0b229ec0ecad4ddfd8.zip
- Add event sends for INewRequest and INewResponse. See the
events.rst chapter in the documentation's ``api`` directory.
Diffstat (limited to 'repoze/bfg/router.py')
-rw-r--r--repoze/bfg/router.py6
1 files changed, 6 insertions, 0 deletions
diff --git a/repoze/bfg/router.py b/repoze/bfg/router.py
index d889c15a0..0333c8a99 100644
--- a/repoze/bfg/router.py
+++ b/repoze/bfg/router.py
@@ -1,12 +1,15 @@
from zope.component import getMultiAdapter
from zope.component import queryMultiAdapter
from zope.component import queryUtility
+from zope.component.event import dispatch
from zope.interface import directlyProvides
from webob import Request
from webob.exc import HTTPNotFound
from webob.exc import HTTPUnauthorized
+from repoze.bfg.events import NewRequest
+from repoze.bfg.events import NewResponse
from repoze.bfg.interfaces import ITraverserFactory
from repoze.bfg.interfaces import IView
from repoze.bfg.interfaces import IViewPermission
@@ -28,6 +31,7 @@ class Router:
registry_manager.set(self.registry)
request = Request(environ)
directlyProvides(request, IRequest)
+ dispatch(NewRequest(request))
root = self.root_policy(environ)
traverser = getMultiAdapter((root, request), ITraverserFactory)
context, name, subpath = traverser(environ)
@@ -55,6 +59,8 @@ class Router:
if not isResponse(response):
raise ValueError('response was not IResponse: %s' % response)
+ dispatch(NewResponse(response))
+
start_response(response.status, response.headerlist)
return response.app_iter