bundle.website.builtin.components.websocket.base.message_router

Classes

MessageRouter

Typed dispatcher that routes websocket payloads by their type field.

Module Contents

class bundle.website.builtin.components.websocket.base.message_router.MessageRouter

Typed dispatcher that routes websocket payloads by their type field.

on(message_type: type[bundle.website.core.ws_messages.MessageT], handler: collections.abc.Callable[[fastapi.WebSocket, bundle.website.core.ws_messages.MessageT], collections.abc.Awaitable[None]]) MessageRouter

Register a callback for a Data message model.

async dispatch(websocket: fastapi.WebSocket, payload: dict) None

Deserialize payload and execute the registered typed callback.