Module Import alias Import alias ImportFrom alias ImportFrom alias Import alias If CompareGtE SubscriptLoad AttributeLoad NameLoad attr Slice Num TupleLoad Num Num body Expr Call AttributeLoad NameLoad attr ImportFrom alias ImportFrom alias ImportFrom alias alias ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias ImportFrom alias identifier ImportFrom alias ImportFrom alias alias alias TryExcept body ImportFrom alias handlers ExceptHandler type NameLoad body ImportFrom alias ClassDef bases NameLoad body FunctionDef arguments args NameParam NameParam defaults NameLoad body Expr Str Assign NameStore Call AttributeLoad Call NameLoad AttributeLoad NameLoad attr attr Str Assign NameStore Call NameLoad Call AttributeLoad Str attr SubscriptLoad NameLoad Slice Num Assign NameStore Call NameLoad NameLoad SubscriptLoad NameLoad Index Num Assign AttributeStore NameLoad attr BinOpAdd AttributeLoad NameLoad attr AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr BoolOpOr BoolOpAnd NameLoad NameLoad Call NameLoad AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body If CompareNotEq Call AttributeLoad NameLoad attr Str Str body Raise Call NameLoad Str If CompareNotEq Call AttributeLoad NameLoad attr Str Str body Raise Call NameLoad Str If CompareNotEq Call AttributeLoad Call AttributeLoad NameLoad attr Str Str attr Str body Raise Call NameLoad Str decorator_list FunctionDef arguments args NameParam NameParam defaults body Assign AttributeStore NameLoad attr NameLoad Assign AttributeStore NameLoad attr NameLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr NameLoad If CompareIsNot NameLoad NameLoad body Assign NameStore Call NameLoad AttributeLoad NameLoad attr Assign AttributeStore NameLoad attr Call AttributeLoad NameLoad attr NameLoad Assign AttributeStore NameLoad attr Call NameLoad Lambda arguments args defaults Call NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam defaults body Assign NameStore ListLoad Assign NameStore NameLoad For NameStore AttributeLoad NameLoad attr body Assign NameStore Call AttributeLoad Call AttributeLoad NameLoad attr attr If CompareIn NameLoad AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr NameLoad orelse If CompareEq NameLoad Str body Assign NameStore NameLoad Return TupleLoad NameLoad NameLoad decorator_list FunctionDef arguments args NameParam NameParam NameParam defaults body Expr Str Assign NameStore NameLoad Assign NameStore Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr TryFinally body TryExcept body Expr Call AttributeLoad NameLoad attr NameLoad Assign NameStore Call NameLoad NameLoad If Call NameLoad AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr NameLoad orelse Expr Call AttributeLoad NameLoad attr NameLoad Assign TupleStore NameStore NameStore Call AttributeLoad NameLoad attr NameLoad If Call NameLoad AttributeLoad NameLoad attr body Assign NameStore Call NameLoad Call AttributeLoad NameLoad attr NameLoad NameLoad orelse If CompareIsNot AttributeLoad NameLoad attr NameLoad body TryExcept body Assign TupleStore NameStore NameStore Call AttributeLoad AttributeLoad NameLoad attr attr Str Num Assign NameStore Call NameLoad Call NameLoad NameLoad NameLoad NameLoad If Call NameLoad NameLoad body Assign NameStore Call NameLoad Call NameLoad NameLoad NameLoad handlers ExceptHandler type NameLoad body Pass Assign NameStore Call AttributeLoad NameLoad attr NameLoad NameLoad Expr Call AttributeLoad NameLoad attr Call AttributeLoad Str attr Call AttributeLoad Str attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr Assign NameStore ListLoad NameLoad Assign NameStore Call AttributeLoad NameLoad attr If NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad Expr Call AttributeLoad NameLoad attr NameLoad Assign NameStore NameLoad While BoolOpAnd NameLoad UnaryOpNot AttributeLoad NameLoad attr body Assign NameStore SubscriptLoad Call AttributeLoad NameLoad attr NameLoad ListLoad ListLoad Num Index Num If UnaryOpNot NameLoad body Expr Call AttributeLoad NameLoad attr For NameStore NameLoad body If CompareEq NameLoad NameLoad body Assign NameStore Call NameLoad Call AttributeLoad NameLoad attr If NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad orelse If CompareEq NameLoad NameLoad body Assign NameStore Call NameLoad Call AttributeLoad NameLoad attr If BoolOpAnd NameLoad BoolOpOr NameLoad CompareNotEq NameLoad NameLoad body Expr Call AttributeLoad NameLoad attr NameLoad orelse Expr Call AttributeLoad NameLoad attr Call AttributeLoad Str attr NameLoad If BoolOpAnd AttributeLoad NameLoad attr UnaryOpNot AttributeLoad NameLoad attr body Expr Call AttributeLoad NameLoad attr AttributeLoad NameLoad attr handlers ExceptHandler type NameLoad name NameStore body Expr Call AttributeLoad NameLoad attr Call AttributeLoad Str attr NameLoad keyword Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr keyword Num keyword Str ExceptHandler type NameLoad name NameStore body Expr Call AttributeLoad NameLoad attr Str Assign NameStore Call AttributeLoad NameLoad attr keyword Num keyword NameLoad ExceptHandler type NameLoad name NameStore body Expr Call AttributeLoad NameLoad attr Call AttributeLoad Str attr NameLoad keyword Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr keyword NameLoad ExceptHandler type NameLoad name NameStore body Expr Call AttributeLoad NameLoad attr Call AttributeLoad Str attr NameLoad keyword Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr keyword NameLoad ExceptHandler type NameLoad name NameStore body Expr Call AttributeLoad NameLoad attr Call AttributeLoad Str attr NameLoad keyword Call AttributeLoad NameLoad attr Assign NameStore Call AttributeLoad NameLoad attr keyword NameLoad orelse Assign NameStore Call AttributeLoad NameLoad attr finalbody Expr Call AttributeLoad NameLoad attr If NameLoad body Expr Call AttributeLoad NameLoad attr keyword Num keyword Str orelse Expr Call AttributeLoad NameLoad attr Str Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr AttributeLoad NameLoad attr Str Assign NameStore Call AttributeLoad Str attr AttributeLoad NameLoad attr NameLoad Assign NameStore Call AttributeLoad AttributeLoad NameLoad attr attr If AttributeLoad NameLoad attr body Assign NameStore Call NameLoad NameLoad Expr Call NameLoad Call NameLoad NameLoad NameLoad Expr Call AttributeLoad NameLoad attr Call AttributeLoad Str attr AttributeLoad NameLoad attr Return NameLoad decorator_list decorator_list
N/A N/A sys N/A six six.moves http_client redis StrictRedis N/A django N/A N/A N/A N/A django VERSION N/A 2 N/A 1 7 N/A N/A N/A N/A django setup django.conf settings django.contrib.auth get_user django.core.handlers.wsgi WSGIRequest logger django.core.exceptions PermissionDenied django http django.utils.encoding force_str django.utils.functional SimpleLazyObject ws4redis settings private_settings ws4redis.redis_store RedisMessage ws4redis.exceptions WebSocketError HandshakeError UpgradeRequiredError N/A N/A importlib import_module N/A N/A N/A ImportError N/A django.utils.importlib import_module WebsocketWSGIServer N/A object N/A __init__ N/A N/A self redis_connection N/A None N/A N/A 
        redis_connection can be overriden by a mock object.
         N/A comps N/A N/A N/A str N/A private_settings WS4REDIS_SUBSCRIBER split . N/A module N/A import_module N/A N/A . join N/A comps N/A -1 N/A Subscriber N/A getattr module N/A comps N/A -1 N/A N/A self possible_channels N/A N/A Subscriber subscription_channels N/A Subscriber publish_channels N/A N/A self _redis_connection N/A N/A redis_connection redis_connection N/A StrictRedis N/A private_settings WS4REDIS_CONNECTION N/A N/A self Subscriber Subscriber N/A assure_protocol_requirements N/A N/A self environ N/A N/A N/A N/A N/A N/A environ get REQUEST_METHOD GET N/A N/A N/A HandshakeError HTTP method must be a GET N/A N/A N/A N/A environ get SERVER_PROTOCOL HTTP/1.1 N/A N/A N/A HandshakeError HTTP server protocol must be 1.1 N/A N/A N/A N/A N/A N/A environ get HTTP_UPGRADE lower websocket N/A N/A N/A HandshakeError Client does not wish to upgrade to a websocket N/A process_request N/A N/A self request N/A N/A N/A N/A request session None N/A N/A request user None N/A session_key N/A N/A N/A request COOKIES get N/A settings SESSION_COOKIE_NAME None N/A N/A session_key None N/A N/A engine N/A import_module N/A settings SESSION_ENGINE N/A N/A request session N/A N/A engine SessionStore session_key N/A N/A request user N/A SimpleLazyObject N/A N/A N/A N/A N/A get_user request N/A process_subscriptions N/A N/A self request N/A N/A N/A agreed_channels N/A N/A echo_message False N/A qp N/A request GET N/A N/A param N/A N/A N/A N/A qp strip lower N/A N/A param N/A self possible_channels N/A N/A N/A N/A agreed_channels append param N/A N/A N/A param echo N/A N/A echo_message True N/A N/A agreed_channels echo_message N/A __call__ N/A N/A self environ start_response N/A N/A N/A 
        Hijack the main loop from the original thread and listen on events on the Redis
        and the Websocket filedescriptors.
         N/A websocket None N/A subscriber N/A N/A self Subscriber N/A self _redis_connection N/A N/A N/A N/A N/A N/A N/A self assure_protocol_requirements environ N/A request N/A WSGIRequest environ N/A N/A callable N/A private_settings WS4REDIS_PROCESS_REQUEST N/A N/A N/A N/A private_settings WS4REDIS_PROCESS_REQUEST request N/A N/A N/A N/A self process_request request N/A N/A channels echo_message N/A N/A self process_subscriptions request N/A N/A callable N/A private_settings WS4REDIS_ALLOWED_CHANNELS N/A N/A channels N/A list N/A N/A private_settings WS4REDIS_ALLOWED_CHANNELS request channels N/A N/A N/A N/A private_settings WS4REDIS_ALLOWED_CHANNELS None N/A N/A N/A N/A N/A mod callback N/A N/A N/A private_settings WS4REDIS_ALLOWED_CHANNELS rsplit . 1 N/A callback N/A getattr N/A import_module mod callback None N/A N/A callable callback N/A N/A channels N/A list N/A callback request channels N/A N/A N/A AttributeError N/A N/A N/A websocket N/A N/A self upgrade_websocket environ start_response N/A N/A N/A logger debug N/A N/A Subscribed to channels: {0} format N/A N/A ,  join channels N/A N/A N/A subscriber set_pubsub_channels request channels N/A websocket_fd N/A N/A websocket get_file_descriptor N/A listening_fds N/A websocket_fd N/A redis_fd N/A N/A subscriber get_file_descriptor N/A redis_fd N/A N/A N/A N/A listening_fds append redis_fd N/A N/A N/A subscriber send_persited_messages websocket N/A recvmsg None N/A N/A websocket N/A N/A websocket closed N/A N/A ready N/A N/A N/A self select listening_fds N/A N/A 4.0 N/A 0 N/A N/A ready N/A N/A N/A N/A websocket flush N/A fd ready N/A N/A N/A fd websocket_fd N/A N/A recvmsg N/A RedisMessage N/A N/A websocket receive N/A recvmsg N/A N/A N/A N/A subscriber publish_message recvmsg N/A N/A N/A fd redis_fd N/A N/A sendmsg N/A RedisMessage N/A N/A subscriber parse_response N/A N/A sendmsg N/A echo_message N/A sendmsg recvmsg N/A N/A N/A N/A websocket send sendmsg N/A N/A N/A N/A logger error N/A N/A Invalid file descriptor: {0} format fd N/A N/A N/A private_settings WS4REDIS_HEARTBEAT N/A N/A websocket closed N/A N/A N/A N/A websocket send N/A private_settings WS4REDIS_HEARTBEAT N/A N/A N/A WebSocketError N/A excpt N/A N/A N/A N/A logger warning N/A N/A WebSocketError: {} format excpt exc_info N/A N/A sys exc_info N/A response N/A N/A http HttpResponse status 1001 content Websocket Closed N/A N/A UpgradeRequiredError N/A excpt N/A N/A N/A N/A logger info Websocket upgrade required N/A response N/A N/A http HttpResponseBadRequest status 426 content excpt N/A N/A HandshakeError N/A excpt N/A N/A N/A N/A logger warning N/A N/A HandshakeError: {} format excpt exc_info N/A N/A sys exc_info N/A response N/A N/A http HttpResponseBadRequest content excpt N/A N/A PermissionDenied N/A excpt N/A N/A N/A N/A logger warning N/A N/A PermissionDenied: {} format excpt exc_info N/A N/A sys exc_info N/A response N/A N/A http HttpResponseForbidden content excpt N/A N/A Exception N/A excpt N/A N/A N/A N/A logger error N/A N/A Other Exception: {} format excpt exc_info N/A N/A sys exc_info N/A response N/A N/A http HttpResponseServerError content excpt N/A N/A response N/A N/A http HttpResponse N/A N/A N/A N/A subscriber release N/A websocket N/A N/A N/A N/A websocket close code 1001 message Websocket Closed N/A N/A N/A N/A logger warning Starting late response on websocket N/A status_text N/A N/A N/A http_client responses get N/A response status_code UNKNOWN STATUS CODE N/A status N/A N/A {0} {1} format N/A response status_code status_text N/A headers N/A N/A N/A response _headers values N/A N/A six PY3 N/A N/A headers N/A list headers N/A N/A start_response N/A force_str status headers N/A N/A N/A logger info N/A N/A Finish non-websocket response with status code: {} format N/A response status_code N/A response N/A N/A