Switch branches/tags
Nothing to show
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
71 lines (54 sloc) 1.84 KB
# -*- coding: utf-8 -*-
SockJS connection interface
class SockJSConnection(object):
def __init__(self, session):
"""Connection constructor.
Associated session
self.session = session
# Public API
def on_open(self, request):
"""Default on_open() handler.
Override when you need to do some initialization or request validation.
If you return False, connection will be rejected.
You can also throw Tornado HTTPError to close connection.
``ConnectionInfo`` object which contains caller IP address, query string
parameters and cookies associated with this request (if any).
def on_message(self, message):
"""Default on_message handler. Must be overridden in your application"""
raise NotImplementedError()
def on_close(self):
"""Default on_close handler."""
def send(self, message, binary=False):
"""Send message to the client.
Message to send.
if not self.is_closed:
self.session.send_message(message, binary=binary)
def broadcast(self, clients, message):
"""Broadcast message to the one or more clients.
Use this method if you want to send same message to lots of clients, as
it contains several optimizations and will work fast than just having loop
in your code.
Clients iterable
Message to send.
self.session.broadcast(clients, message)
def close(self):
def is_closed(self):
"""Check if connection was closed"""
return self.session.is_closed