Exemplo n.º 1
0
 async def decorator(*args, **kwargs):
     try:
         return await func(*args, **kwargs)
     except ConnectionClosed as e:
         if e.rcvd_then_sent:
             raise WebSocketClosed(e.rcvd.code, e.rcvd.reason)
         else:
             raise WebSocketClosed(e.sent.code, e.sent.reason)
Exemplo n.º 2
0
 async def decorator(*args, **kwargs):
     try:
         return await func(*args, **kwargs)
     except WebSocketDisconnect as e:
         raise WebSocketClosed(e.code)
     except KeyError:
         raise TypeError("WebSocket received unexpected frame type")
Exemplo n.º 3
0
 async def decorator(*args, **kwargs):
     try:
         return await func(*args, **kwargs)
     except asyncio.CancelledError:
         raise WebSocketClosed(1000)
Exemplo n.º 4
0
 async def _receive(self) -> aiohttp.WSMessage:
     msg = await self.websocket.receive()
     if msg.type in (aiohttp.WSMsgType.CLOSE, aiohttp.WSMsgType.CLOSING):
         raise WebSocketClosed(self.websocket.close_code or 1006)
     return msg
Exemplo n.º 5
0
 async def receive(self) -> Union[str, bytes]:
     # assert self.websocket.application_state == WebSocketState.CONNECTED
     msg = await self.websocket.receive()
     if msg["type"] == "websocket.disconnect":
         raise WebSocketClosed(msg["code"])
     return msg["text"] if "text" in msg else msg["bytes"]
Exemplo n.º 6
0
 async def decorator(*args, **kwargs):
     try:
         return await func(*args, **kwargs)
     except WebSocketDisconnect as e:
         raise WebSocketClosed(e.code)