from fastapi import APIRouter, WebSocket from starlette.websockets import WebSocketDisconnect from app.ws.manager import manager router = APIRouter() @router.websocket("/ws/live") async def ws_live(ws: WebSocket) -> None: await manager.connect(ws) try: # Держим соединение while True: await ws.receive_text() except WebSocketDisconnect: await manager.disconnect(ws) except Exception: await manager.disconnect(ws)