MCPcopy Create free account
hub / github.com/dbunt1tled/python-fast-api / connect

Method connect

src/core/web_socket/ws_manager.py:19–28  ·  view source on GitHub ↗
(self, user_id: str, websocket: WebSocket)

Source from the content-addressed store, hash-verified

17 self.log = log
18
19 async def connect(self, user_id: str, websocket: WebSocket) -> None:
20 if len(self._connections) >= self.MAX_CONNECTIONS:
21 await websocket.close(code=status.WS_1008_POLICY_VIOLATION) # Connection limit exceeded
22 self.log.error(f"🥕 WebSocket connect: user {user_id}, connection limit exceeded")
23 return
24 await websocket.accept()
25 async with self._lock:
26 lock = asyncio.Lock()
27 self._connections.setdefault(user_id, []).append((websocket, lock))
28 self.log.info(f"🍏 WebSocket connected: {user_id} (total {len(self._connections.get(user_id, []))})")
29
30 async def disconnect(self, user_id: str, websocket: WebSocket) -> None:
31 async with self._lock:

Callers 2

run_async_migrationsFunction · 0.80
add_connectionMethod · 0.80

Calls 3

infoMethod · 0.80
closeMethod · 0.45
errorMethod · 0.45

Tested by

no test coverage detected