summaryrefslogtreecommitdiff
path: root/repoze/bfg/interfaces.py
diff options
context:
space:
mode:
authorChris McDonough <chrism@agendaless.com>2009-11-02 12:23:26 +0000
committerChris McDonough <chrism@agendaless.com>2009-11-02 12:23:26 +0000
commit49304cecdf2c51888ee4ff42ec6496207186ad9b (patch)
tree82172ae270dfd0d5d972f65d4669c93219c9f469 /repoze/bfg/interfaces.py
parent32d95886503540052d9b7075c9ce3326b042bb08 (diff)
downloadpyramid-49304cecdf2c51888ee4ff42ec6496207186ad9b.tar.gz
pyramid-49304cecdf2c51888ee4ff42ec6496207186ad9b.tar.bz2
pyramid-49304cecdf2c51888ee4ff42ec6496207186ad9b.zip
- Add a new event type: ``repoze.bfg.events.AfterTraversal``. Events
of this type will be sent after traversal is completed, but before any view code is invoked. Like ``repoze.bfg.events.NewRequest``, This event will have a single attribute: ``request`` representing the current request. Unlike the request attribute of ``repoze.bfg.events.NewRequest`` however, during an AfterTraversal event, the request object will possess attributes set by the traverser, most notably ``context``, which will be the context used when a view is found and invoked. The interface ``repoze.bfg.events.IAfterTraversal`` can be used to subscribe to the event. For example:: <subscriber for="repoze.bfg.interfaces.IAfterTraversal" handler="my.app.handle_after_traverse"/> Like any framework event, a subscriber function should expect one parameter: ``event``.
Diffstat (limited to 'repoze/bfg/interfaces.py')
-rw-r--r--repoze/bfg/interfaces.py5
1 files changed, 5 insertions, 0 deletions
diff --git a/repoze/bfg/interfaces.py b/repoze/bfg/interfaces.py
index 53b01bfd6..582e8984d 100644
--- a/repoze/bfg/interfaces.py
+++ b/repoze/bfg/interfaces.py
@@ -120,6 +120,11 @@ class IRouter(Interface):
registry = Attribute(
"""Component architecture registry local to this application.""")
+class IAfterTraversal(Interface):
+ """ An event type that is emitted after repoze.bfg completes
+ traversal but before it calls any view code."""
+ request = Attribute('The request object')
+
class INewRequest(Interface):
""" An event type that is emitted whenever repoze.bfg begins to
process a new request """