2. Core API

class sethpusher.applications.DefaultSethApplication(**kwargs)

Bases: tornado.web.Application

authentication_policy = None
get_authentication_policy(**kwargs)
get_dispatcher()
get_persistence_policy(**kwargs)
persist(data, **kwargs)
persistence_policy = None
class sethpusher.applications.SethPusherInMemoryApplication(**kwargs)

Bases: sethpusher.applications.DefaultSethApplication, sethpusher.mixins.InMemoryPubSubMixin

class sethpusher.applications.SethPusherOnRedisApplication(**kwargs)

Bases: sethpusher.applications.DefaultSethApplication, sethpusher.mixins.RedisPubSubMixin

class sethpusher.authenticators.ApiKeyAuthenticationPolicy

Bases: sethpusher.authenticators.BaseAuthenticationPolicy

authenticate(request, **kwargs)
key_name = u'api_key'
key_secret_value = u'secret'
class sethpusher.authenticators.BaseAuthenticationPolicy

Bases: object

authenticate(request, **kwargs)
class sethpusher.authenticators.EchoAuthenticationPolicy

Bases: sethpusher.authenticators.BaseAuthenticationPolicy

authenticate(request, **kwargs)
class sethpusher.authenticators.HeaderAuthenticationPolicy

Bases: sethpusher.authenticators.BaseAuthenticationPolicy

authenticate(request, **kwargs)
secret_header = u'Seth-Authentication-Header'
secret_header_value = u'Seth-Value'
class sethpusher.default_server.AppRunner(*args, **kwargs)

Bases: object

host = '127.0.0.1'
port = 8080
start(app)
sethpusher.default_server.main()
sethpusher.default_server.shutdown(server_instance)
class sethpusher.dispatchers.DefaultMessageDispatcher

Bases: object

CONNECT = 'connect'
DISCONNECT = 'disconnect'
SUBSCRIBE = 'subscribe'
UNSUBSCRIBE = 'unsubscribe'
channels
dispatch(msg)
handle_connect(msg)
handle_subscribe(msg)
handle_unsubscribe(msg)
is_connected
register_handler(handler)
validate_message(msg)
class sethpusher.mixins.InMemoryPubSubMixin

Bases: sethpusher.mixins.PubSubMixin

get_publisher(**kwargs)
get_subscriber(**kwargs)
get_subscriber_count(channel=None)
get_subscribers(channel=None)
get_user(user_id)
pub_sub
class sethpusher.mixins.PubSubMixin

Bases: object

add_subscriber(channel, subscriber)
broadcast(message, channel=None)
get_publisher()
get_subscriber()
get_subscriber_count(channel=None)
get_subscribers(channel=None)
get_user(user)
remove_subscriber(channel, subscriber)
send_to_channel(msg, channel)
send_to_user(msg, user)
class sethpusher.mixins.RedisPubSubMixin

Bases: sethpusher.mixins.PubSubMixin

add_subscriber(channel, subscriber)
get_publisher(**kwargs)
get_subscriber(**kwargs)
get_subscriber_count(channel=None)
get_subscribers(channel=None)
get_user(user_id)
is_subscribed_to_channel(subscriber, channel)
redis_host = 'localhost'
redis_password = None
redis_port = 6379
redis_selected_db = None
class sethpusher.persistors.DefaultPersistencePolicy

Bases: object

Provides interface to persistence policies.

persist(data, **kwargs)
class sethpusher.persistors.ExternalApiPersistencePolicy

Bases: sethpusher.persistors.DefaultPersistencePolicy

Posts message to selected API endpoint using AsyncHTTPClient

api_url = ''
get_api_url(**kwargs)
persist(data, **kwargs)
class sethpusher.persistors.RedisPersistencePolicy

Bases: sethpusher.persistors.DefaultPersistencePolicy

Stores messages in redis

persist(data, **kwargs)
class sethpusher.utils.BasicPubSubManager

Bases: object

publish(channel, message)
subscribe(channels, subscriber)
unsubscribe(channel, subscriber)
sethpusher.utils.is_request_body_json(f)

3. Websocket API

class sethpusher.ws.urls.SethSockJSRouter(connection, prefix='', user_settings={}, io_loop=None, **kwargs)

Bases: sockjs.tornado.router.SockJSRouter

sethpusher.ws.urls.get_ws_handlers(application_instance)
class sethpusher.ws.views.SethSocketHandler(session)

Bases: sockjs.tornado.conn.SockJSConnection

application
check_origin(origin)
close(code=3000, message='')
handle_connect(source_msg, subscriber_id)
handle_subscribe(source_msg)
handle_unsubscribe(source_msg)
on_close()
on_message(raw_msg)
on_open(request)

4. Web API

sethpusher.api.urls.get_api_handlers(application_instance)
class sethpusher.api.views.ChannelDebugHandler(application, request, **kwargs)

Bases: sethpusher.api.views.SethHandler

get(*args, **kwargs)
class sethpusher.api.views.ChannelHandler(application, request, **kwargs)

Bases: sethpusher.api.views.SethHandler

post(*args, **kwargs)
class sethpusher.api.views.OverallDebugHandler(application, request, **kwargs)

Bases: sethpusher.api.views.SethHandler

get(*args, **kwargs)
class sethpusher.api.views.SethHandler(application, request, **kwargs)

Bases: tornado.web.RequestHandler

error(message, code=500)
json_response(data, code=200)
prepare()
class sethpusher.api.views.UserHandler(application, request, **kwargs)

Bases: sethpusher.api.views.SethHandler

post(*args, **kwargs)