Functions
_permessage_deflate_offer
1
str | None
▼
Return the client's ``permessage-deflate`` extension offer segment.
Scans ever…
_permessage_deflate_offer
1
str | None
▼
def _permessage_deflate_offer(headers: tuple[tuple[bytes, bytes], ...]) -> str | None
Return the client'spermessage-deflateextension offer segment.
Scans everySec-WebSocket-Extensionsheader for a comma-separated
permessage-deflatetoken and returns that single extension segment
(token plus any;-delimited parameters) so it can be fed verbatim to
wsproto's RFC 7692 negotiation. ReturnsNonewhen the client did not
offer permessage-deflate.
Parameters
| Name | Type | Description |
|---|---|---|
headers |
tuple[tuple[bytes, bytes], ...] |
Returns
str | None
_client_requested_permessage_deflate
1
bool
▼
Return True when the client offered permessage-deflate.
_client_requested_permessage_deflate
1
bool
▼
def _client_requested_permessage_deflate(headers: tuple[tuple[bytes, bytes], ...]) -> bool
Parameters
| Name | Type | Description |
|---|---|---|
headers |
tuple[tuple[bytes, bytes], ...] |
Returns
bool
handle_websocket
11
None
▼
Handle a WebSocket connection after HTTP/1.1 upgrade detection.
**Lifecycle:**…
async
handle_websocket
11
None
▼
async def handle_websocket(app: ASGIApp, config: ServerConfig, logger: logging.Logger, request: RequestReceived, reader: asyncio.StreamReader, writer: asyncio.StreamWriter, client: tuple[str, int], server: tuple[str, int], client_str: str, *, worker_id: int | None = None, lifespan_state: dict[str, Any] | None = None) -> None
Handle a WebSocket connection after HTTP/1.1 upgrade detection.
Lifecycle:
- Build ASGI
websocketscope- Push
websocket.connectto the receive queue - Run the ASGI app — it sends
websocket.accept(or close) - Read WebSocket frames and feed to receive queue
- App sends
websocket.send/websocket.close - Clean up when either side disconnects
- Push
Parameters
| Name | Type | Description |
|---|---|---|
app |
ASGIApp |
The ASGI application callable. |
config |
ServerConfig |
Immutable server configuration. |
logger |
logging.Logger |
Logger scoped to the worker. |
request |
RequestReceived |
The parsed HTTP request that triggered the upgrade. |
reader |
asyncio.StreamReader |
Asyncio stream reader for the connection. |
writer |
asyncio.StreamWriter |
Asyncio stream writer for the connection. |
client |
tuple[str, int] |
|
server |
tuple[str, int] |
|
client_str |
str |
Formatted |
worker_id |
int | None |
Default:None
|
lifespan_state |
dict[str, Any] | None |
Default:None
|