Request handlers¶
Tornadose defines handlers for using the EventSource interface or
WebSockets. For other handlers, the BaseHandler class is
provided.
-
class
tornadose.handlers.BaseHandler(application: tornado.web.Application, request: tornado.httputil.HTTPServerRequest, **kwargs)[source]¶ Bases:
tornado.web.RequestHandlerBase handler for subscribers. To be compatible with data stores defined in
tornadose.stores, custom handlers should inherit this class and implement thepublish()method.-
initialize(store)[source]¶ Common initialization of handlers happens here. If additional initialization is required, this method must either be called with
superor the child class must assign thestoreattribute and register itself with the store.
-
-
class
tornadose.handlers.EventSource(application: tornado.web.Application, request: tornado.httputil.HTTPServerRequest, **kwargs)[source]¶ Bases:
tornadose.handlers.BaseHandlerHandler for server-sent events a.k.a. EventSource.
The EventSource interface has a few advantages over websockets:
- It is a normal HTTP connection and so can be more easily monitored than websockets using tools like curl or HTTPie.
- Browsers generally try to reestablish a lost connection automatically.
- The publish/subscribe pattern is better suited to some applications than the full duplex model of websockets.
-
class
tornadose.handlers.WebSocketSubscriber(application: tornado.web.Application, request: tornado.httputil.HTTPServerRequest, **kwargs)[source]¶ Bases:
tornadose.handlers.BaseHandler,tornado.websocket.WebSocketHandlerA Websocket-based subscription handler.