SSE (Server Sent Events)#
- class litestar.response.sse.ServerSentEventMessage#
Bases:
objectServerSentEventMessage(data: ‘str | int | bytes | None’ = ‘’, event: ‘str | None’ = None, id: ‘int | str | None’ = None, retry: ‘int | None’ = None, comment: ‘str | None’ = None, sep: ‘str’ = ‘rn’)
- class litestar.response.sse.ASGIStreamingSSEResponse#
Bases:
ASGIStreamingResponseA streaming response which support sending ping messages specific for SSE.
- __init__(*, iterator: StreamType, background: BackgroundTask | BackgroundTasks | None = None, body: bytes | str = b'', content_length: int | None = None, cookies: Iterable[Cookie] | None = None, encoded_headers: Iterable[tuple[bytes, bytes]] | None = None, encoding: str = 'utf-8', headers: dict[str, Any] | None = None, is_head_response: bool = False, media_type: MediaType | str | None = None, status_code: int | None = None, ping_interval: float = 0) None#
A SSE ASGI streaming response.
- Parameters:
background¶ – A background task or a list of background tasks to be executed after the response is sent.
body¶ – encoded content to send in the response body. .. deprecated:: 2.16
content_length¶ – The response content length.
cookies¶ – The response cookies.
encoded_headers¶ – The response headers.
encoding¶ – The response encoding.
headers¶ – The response headers.
is_head_response¶ – A boolean indicating if the response is a HEAD response.
iterator¶ – An async iterator or iterable.
media_type¶ – The response media type.
status_code¶ – The response status code.
ping_interval¶ – The interval in seconds between “ping” messages.
is_content_end¶ – Indicates the ending of content in the iterator, e.g., use to stop sending ping events.
- class litestar.response.sse.SSEStream#
Bases:
StreamAn HTTP response that streams the response data as a series of ASGI
http.response.bodyevents.- __init__(content: StreamType[str | bytes] | Callable[[], StreamType[str | bytes]], *, background: BackgroundTask | BackgroundTasks | None = None, cookies: ResponseCookies | None = None, encoding: str = 'utf-8', headers: ResponseHeaders | None = None, media_type: MediaType | OpenAPIMediaType | str | None = None, status_code: int | None = None, ping_interval: float = 0) None#
Initialize the response.
- Parameters:
content¶ – A sync or async iterator or iterable.
background¶ – A
BackgroundTaskinstance orBackgroundTasksto execute after the response is finished. Defaults to None.cookies¶ – A list of
Cookieinstances to be set under the responseSet-Cookieheader.encoding¶ – The encoding to be used for the response headers.
headers¶ – A string keyed dictionary of response headers. Header keys are insensitive.
media_type¶ – A value for the response
Content-Typeheader.status_code¶ – An HTTP status code.
ping_interval¶ – The interval in seconds between “ping” messages.
- to_asgi_response(app: Litestar | None, request: Request, *, background: BackgroundTask | BackgroundTasks | None = None, cookies: Iterable[Cookie] | None = None, encoded_headers: Iterable[tuple[bytes, bytes]] | None = None, headers: dict[str, str] | None = None, is_head_response: bool = False, media_type: MediaType | str | None = None, status_code: int | None = None, type_encoders: TypeEncodersMap | None = None) ASGIResponse#
Create an ASGIStreamingResponse from a StremaingResponse instance.
- Parameters:
background¶ – Background task(s) to be executed after the response is sent.
cookies¶ – A list of cookies to be set on the response.
encoded_headers¶ – A list of already encoded headers.
headers¶ – Additional headers to be merged with the response headers. Response headers take precedence.
is_head_response¶ – Whether the response is a HEAD response.
media_type¶ – Media type for the response. If
media_typeis already set on the response, this is ignored.status_code¶ – Status code for the response. If
status_codeis already set on the response, this istype_encoders¶ – A dictionary of type encoders to use for encoding the response content.
- Returns:
An ASGIStreamingResponse instance.
- class litestar.response.sse.ServerSentEvent#
Bases:
SSEStreamdocs.
- __init__(content: str | bytes | StreamType[SSEData], *, background: BackgroundTask | BackgroundTasks | None = None, cookies: ResponseCookies | None = None, encoding: str = 'utf-8', headers: ResponseHeaders | None = None, event_type: str | None = None, event_id: int | str | None = None, retry_duration: int | None = None, comment_message: str | None = None, status_code: int | None = None, ping_interval: float = 0) None#
Initialize the response.
- Parameters:
content¶ – Bytes, string or a sync or async iterator or iterable.
background¶ – A
BackgroundTaskinstance orBackgroundTasksto execute after the response is finished. Defaults to None.cookies¶ – A list of
Cookieinstances to be set under the responseSet-Cookieheader.encoding¶ – The encoding to be used for the response headers.
headers¶ – A string keyed dictionary of response headers. Header keys are insensitive.
status_code¶ – The response status code. Defaults to 200.
event_type¶ – The type of the SSE event. If given, the browser will sent the event to any ‘event-listener’ declared for it (e.g. via ‘addEventListener’ in JS).
event_id¶ – The event ID. This sets the event source’s ‘last event id’.
retry_duration¶ – Retry duration in milliseconds.
comment_message¶ – A comment message. This value is ignored by clients and is used mostly for pinging.
ping_interval¶ – The interval in seconds between “ping” messages.