Source code for asyncwebsockets.server
"""
Client connection utilities.
"""
from asyncwebsockets.websocket import Websocket
try:
from contextlib import acontextmanager
except ImportError:
from async_generator import asynccontextmanager as acontextmanager
[docs]@acontextmanager
async def open_websocket_server(sock, filter=None): # pylint: disable=W0622
"""
A context manager which serves this websocket.
:param filter: an async callback which accepts the connection request
and returns a bool, or an explicit Accept/Reject message.
"""
ws = await create_websocket_server(sock, filter=filter)
try:
yield ws
finally:
await ws.close()
[docs]async def create_websocket_server(sock, filter=None): # pylint: disable=W0622
"""
A more low-level form of open_websocket_server.
You are responsible for closing this websocket.
"""
ws = Websocket()
await ws.start_server(sock, filter=filter)
return ws