summaryrefslogtreecommitdiff
path: root/repoze/bfg/events.py
blob: 54f60c294874182e7e023a8035af41f919a4485c (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
from zope.interface import implements

from repoze.bfg.interfaces import INewRequest
from repoze.bfg.interfaces import INewResponse
from repoze.bfg.interfaces import IWSGIApplicationCreatedEvent

class NewRequest(object):
    """ An instance of this class is emitted as an event whenever
    repoze.bfg begins to process a new request.  The instance has an
    attribute, ``request``, which is the request object.  This class
    implements the ``repoze.bfg.interfaces.INewRequest`` interface."""
    implements(INewRequest)
    def __init__(self, request):
        self.request = request

class NewResponse(object):
    """ An instance of this class is emitted as an event whenever any
    repoze.bfg view returns a response..  The instance has an
    attribute, ``response``, which is the response object returned by
    the view.  This class implements the
    ``repoze.bfg.interfaces.INewResponse`` interface."""
    implements(INewResponse)
    def __init__(self, response):
        self.response = response

class WSGIApplicationCreatedEvent(object):    
    """ An instance of this class is emitted as an event whenever a
    ``repoze.bfg`` application starts.  The instance has an attribute,
    ``app``, which is an instance of the ``repoze.bfg.router.Router``
    class that will handle WSGI requests.  This class implements the
    ``repoze.bfg.interfaces.IWSGIApplicationCreatedEvent`` interface."""
    implements(IWSGIApplicationCreatedEvent)
    def __init__(self, app):
        self.app = app

    @property
    def object(self):
        return self.app