aio-libs/aiohttp · error · RuntimeError
Already started
Error message
Already started
What it means
Error "Already started" thrown in aio-libs/aiohttp.
Source
Thrown at aiohttp/web_ws.py:402
loop = self._loop
assert loop is not None
self._reader = WebSocketDataQueue(
request._protocol, DEFAULT_CHUNK_SIZE, loop=loop
)
parser = WebSocketReader(
self._reader,
self._max_msg_size,
compress=bool(self._compress),
decode_text=self._decode_text,
)
cb = None if self._heartbeat is None else self._on_data_received
request.protocol.set_parser(parser, data_received_cb=cb)
# disable HTTP keepalive for WebSocket
request.protocol.keep_alive(False)
def can_prepare(self, request: BaseRequest) -> WebSocketReady:
if self._writer is not None:
raise RuntimeError("Already started")
try:
_, protocol, _, _ = self._handshake(request)
except HTTPException:
return WebSocketReady(False, None)
else:
return WebSocketReady(True, protocol)
@property
def prepared(self) -> bool:
return self._writer is not None
@property
def closed(self) -> bool:
return self._closed
@property
def close_code(self) -> int | None:
return self._close_codeView on GitHub (pinned to c0ef574e29)
When it happens
Trigger: Thrown at aiohttp/web_ws.py:402 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of aio-libs/aiohttp@c0ef574e29 (2026-08-04).
Data as JSON: /data/errors/c11a1db9c2a60284.json.
Report an issue: GitHub.