24 lines
746 B
Python
24 lines
746 B
Python
from fastapi import APIRouter, WebSocket, WebSocketDisconnect, Query
|
|
from app.realtime.marketplace_hub import marketplace_hub
|
|
|
|
router = APIRouter(tags=["Marketplace WS"])
|
|
|
|
@router.websocket("/ws/marketplace")
|
|
async def marketplace_ws(
|
|
websocket: WebSocket,
|
|
server_ip: str = Query(...),
|
|
):
|
|
await marketplace_hub.connect(server_ip, websocket)
|
|
try:
|
|
# Можно принимать сообщения от клиента, но нам не обязательно.
|
|
while True:
|
|
await websocket.receive_text()
|
|
except WebSocketDisconnect:
|
|
pass
|
|
finally:
|
|
await marketplace_hub.disconnect(server_ip, websocket)
|
|
|
|
@router.get("/ws/marketplace/ping")
|
|
async def ping():
|
|
return {"ok": True}
|