17 lines
524 B
Python
17 lines
524 B
Python
from fastapi import APIRouter, WebSocket, WebSocketDisconnect
|
|
|
|
from app.services.ws_manager import manager
|
|
|
|
router = APIRouter(tags=["websocket"])
|
|
|
|
|
|
@router.websocket("/ws/{ble_token}")
|
|
async def websocket_endpoint(websocket: WebSocket, ble_token: str) -> None:
|
|
await manager.connect(ble_token, websocket)
|
|
try:
|
|
while True:
|
|
# Keep the connection alive; nudges are pushed server-side.
|
|
await websocket.receive_text()
|
|
except WebSocketDisconnect:
|
|
manager.disconnect(ble_token)
|