Per-request context handed to lowlevel request and notification handlers. Built by `ServerRunner._make_context` for each inbound message. Carries the connection-scoped `ServerSession` (server-to-client requests and notifications), per-request metadata, and any per-message data the t
| 22 | |
| 23 | @dataclass(kw_only=True) |
| 24 | class ServerRequestContext(Generic[LifespanContextT, RequestT]): |
| 25 | """Per-request context handed to lowlevel request and notification handlers. |
| 26 | |
| 27 | Built by `ServerRunner._make_context` for each inbound message. Carries the |
| 28 | connection-scoped `ServerSession` (server-to-client requests and |
| 29 | notifications), per-request metadata, and any per-message data the |
| 30 | transport attached (the HTTP request, SSE stream-close callbacks). |
| 31 | """ |
| 32 | |
| 33 | session: ServerSession |
| 34 | lifespan_context: LifespanContextT |
| 35 | protocol_version: str |
| 36 | method: str |
| 37 | params: Mapping[str, Any] | None = None |
| 38 | request_id: RequestId | None = None |
| 39 | meta: RequestParamsMeta | None = None |
| 40 | request: RequestT | None = None |
| 41 | close_sse_stream: CloseSSEStreamCallback | None = None |
| 42 | close_standalone_sse_stream: CloseSSEStreamCallback | None = None |
| 43 | |
| 44 | |
| 45 | # Covariant: `lifespan` is exposed read-only, so a `Context[AppState]` passes as `Context[object]`. |
no outgoing calls