Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.
connection_table=connection_table,
)
asgi_cycle.app_queue.put_nowait({"type": "websocket.connect"})
asgi_cycle.app_queue.put_nowait(
{
"type": "websocket.receive",
"path": "/",
"bytes": None,
"text": event["body"],
}
)
try:
asgi_cycle(self.app)
except ASGIWebSocketCycleException: # pragma: no cover
return make_response("Error", status_code=500)
return make_response("OK", status_code=200)
elif event_type == "DISCONNECT":
connection_table = ConnectionTable()
status_code = connection_table.delete_item(connection_id)
if status_code != 200: # pragma: no cover
return make_response("WebSocket disconnect error.", status_code=500)
return make_response("OK", status_code=200)
return make_response("Error", status_code=500) # pragma: no cover
)
asgi_cycle.app_queue.put_nowait({"type": "websocket.connect"})
asgi_cycle.app_queue.put_nowait(
{
"type": "websocket.receive",
"path": "/",
"bytes": None,
"text": event["body"],
}
)
try:
asgi_cycle(self.app)
except ASGIWebSocketCycleException: # pragma: no cover
return make_response("Error", status_code=500)
return make_response("OK", status_code=200)
elif event_type == "DISCONNECT":
connection_table = ConnectionTable()
status_code = connection_table.delete_item(connection_id)
if status_code != 200: # pragma: no cover
return make_response("WebSocket disconnect error.", status_code=500)
return make_response("OK", status_code=200)
return make_response("Error", status_code=500) # pragma: no cover
"bytes": None,
"text": event["body"],
}
)
try:
asgi_cycle(self.app)
except ASGIWebSocketCycleException: # pragma: no cover
return make_response("Error", status_code=500)
return make_response("OK", status_code=200)
elif event_type == "DISCONNECT":
connection_table = ConnectionTable()
status_code = connection_table.delete_item(connection_id)
if status_code != 200: # pragma: no cover
return make_response("WebSocket disconnect error.", status_code=500)
return make_response("OK", status_code=200)
return make_response("Error", status_code=500) # pragma: no cover
}
connection_table = ConnectionTable()
status_code = connection_table.update_item(
connection_id, scope=json.dumps(scope)
)
if status_code != 200: # pragma: no cover
return make_response("Error", status_code=500)
return make_response("OK", status_code=200)
elif event_type == "MESSAGE":
connection_table = ConnectionTable()
item = connection_table.get_item(connection_id)
if not item: # pragma: no cover
return make_response("Error", status_code=500)
# Retrieve and deserialize the scope entry created in the connect event for
# the current connection.
scope = json.loads(item["scope"])
# Ensure the scope definition complies with the ASGI spec.
query_string = scope["query_string"]
headers = scope["headers"]
headers = [[k.encode(), v.encode()] for k, v in headers.items()]
query_string = query_string.encode()
scope.update({"headers": headers, "query_string": query_string})
asgi_cycle = ASGIWebSocketCycle(
scope,
endpoint_url=endpoint_url,
connection_id=connection_id,
"raw_path": None,
"root_path": root_path,
"scheme": headers.get("X-Forwarded-Proto", "wss"),
"query_string": "",
"server": server,
"client": client,
"aws": {"event": event, "context": context},
}
connection_table = ConnectionTable()
status_code = connection_table.update_item(
connection_id, scope=json.dumps(scope)
)
if status_code != 200: # pragma: no cover
return make_response("Error", status_code=500)
return make_response("OK", status_code=200)
elif event_type == "MESSAGE":
connection_table = ConnectionTable()
item = connection_table.get_item(connection_id)
if not item: # pragma: no cover
return make_response("Error", status_code=500)
# Retrieve and deserialize the scope entry created in the connect event for
# the current connection.
scope = json.loads(item["scope"])
# Ensure the scope definition complies with the ASGI spec.
query_string = scope["query_string"]
headers = scope["headers"]
headers = [[k.encode(), v.encode()] for k, v in headers.items()]