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:
objectProvides interface to persistence policies.
-
persist(data, **kwargs)¶
-
-
class
sethpusher.persistors.ExternalApiPersistencePolicy¶ Bases:
sethpusher.persistors.DefaultPersistencePolicyPosts message to selected API endpoint using AsyncHTTPClient
-
api_url= ''¶
-
get_api_url(**kwargs)¶
-
persist(data, **kwargs)¶
-
-
class
sethpusher.persistors.RedisPersistencePolicy¶ Bases:
sethpusher.persistors.DefaultPersistencePolicyStores 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)¶
-