INNER CODE UNIT · Python
decorate
vijos/vj4 · vj4/app.py:120
def decorate(conn):
conn.GLOBAL = global_route
async def handler(msg, session):
try:
if msg.tp == sockjs.MSG_OPEN:
await session.prepare()
await session.on_open()
elif msg.tp == sockjs.MSG_MESSAGE:
message = json.decode(msg.data)
if message == WS_MSG_HEARTBEAT:
pass
else:
await session.on_message(**message)
elif msg.tp == sockjs.MSG_CLOSED:
await session.on_close()
except error.UserFacingError as e:
_logger.warning("Websocket user facing error: %s", repr(e))
session.close(4000, {'error': e.to_dict()})