.. _events_module:
:mod:`repoze.bfg.events`
--------------------------
.. automodule:: repoze.bfg.events
.. autoclass:: NewRequest
.. autoclass:: NewResponse
You can write *listeners* for these event types and subsequently
register the listeners to be called when the events occur. For
example, if you create event listener functions in a ``listeners.py``
file in your application like so:
.. code-block:: python
:linenos:
def handle_new_request(event):
print 'request', event.request
def handle_new_response(event):
print 'response', event.response
You may configure these functions to be called at the appropriate
times by adding the following to your application's ``configure.zcml``
file:
.. code-block:: xml
:linenos:
This causes the functions as to be registered as event listeners
within the :term:`application registry` . Under this configuration,
when the application is run, every new request and every response will
be printed to the console.
The return value of a listener function is ignored.