aio-libs/aiohttp · error · RuntimeError
Call .prepare() first
Error message
Call .prepare() first
What it means
Error "Call .prepare() first" thrown in aio-libs/aiohttp.
Source
Thrown at aiohttp/web_ws.py:445
def compress(self) -> int | bool:
return self._compress
def get_extra_info(self, name: str, default: Any = None) -> Any:
"""Get optional transport information.
If no value associated with ``name`` is found, ``default`` is returned.
"""
writer = self._writer
if writer is None:
return default
return writer.transport.get_extra_info(name, default)
def exception(self) -> BaseException | None:
return self._exception
async def ping(self, message: bytes = b"") -> None:
if self._writer is None:
raise RuntimeError("Call .prepare() first")
await self._writer.send_frame(message, WSMsgType.PING)
async def pong(self, message: bytes = b"") -> None:
# unsolicited pong
if self._writer is None:
raise RuntimeError("Call .prepare() first")
await self._writer.send_frame(message, WSMsgType.PONG)
async def send_frame(
self, message: bytes, opcode: WSMsgType, compress: int | None = None
) -> None:
"""Send a frame over the websocket."""
if self._writer is None:
raise RuntimeError("Call .prepare() first")
await self._writer.send_frame(message, opcode, compress)
async def send_str(self, data: str, compress: int | None = None) -> None:
if self._writer is None:View on GitHub (pinned to c0ef574e29)
When it happens
Trigger: Thrown at aiohttp/web_ws.py:445 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/d0ac66c536d77a8e.json.
Report an issue: GitHub.