fastware v0.1.0 /src.fastware.websocket
On this page

WebSocket helper class wrapping the raw ASGI scope/receive/send triple with typed accept, send, receive, and close methods for ergonomic usage.

#src.fastware.websocket

#src.fastware.websocket

WebSocket helper class wrapping the raw ASGI scope/receive/send triple with typed accept, send, receive, and close methods for ergonomic usage.

#WebSocketDisconnect

Raised when a WebSocket client disconnects.

The code attribute carries the close code from the ASGI websocket.disconnect message (defaults to 1000 / normal closure).

#WebSocket

Wraps the raw ASGI (scope, receive, send) triple for WebSocket connections.

Handlers receive a WebSocket instance instead of the raw triple, providing convenient methods for accept/close/send/receive and properties for path_params, headers, and query_string.

#path_params

python
def path_params(self) -> dict[str, Any]

#headers

python
def headers(self) -> dict[str, str]

Parse ASGI headers into a case-preserving dict (first value wins).

#query_string

python
def query_string(self) -> str

#accept

python
async def accept(self, subprotocol: str | None=None) -> None

#close

python
async def close(self, code: int=1000) -> None

#send_json

python
async def send_json(self, data: Any) -> None

#send_bytes

python
async def send_bytes(self, data: bytes) -> None

#send_text

python
async def send_text(self, text: str) -> None

#_receive_data

python
async def _receive_data(self) -> dict[str, Any]

Receive a data message, raising WebSocketDisconnect on disconnect.

#receive_json

python
async def receive_json(self) -> Any

#receive_bytes

python
async def receive_bytes(self) -> bytes

#receive_text

python
async def receive_text(self) -> str

#receive_raw

python
async def receive_raw(self) -> dict[str, Any]

Return the raw ASGI message dict from the WebSocket connection.

The dict contains keys like "type", "bytes", "text" depending on the frame type. Useful for handlers that need to distinguish between binary and text frames without committing to one receive method.