base#
- class litestar.response.base.ASGIResponse#
Bases:
object
A low-level ASGI response class.
- __init__(*, 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] | Iterable[tuple[str, str]] | None = None, is_head_response: bool = False, media_type: MediaType | str | None = None, status_code: int | None = None) None #
A low-level ASGI response class.
- 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.
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.
media_type – The response media type.
status_code – The response status code.
- async start_response(send: Send) None #
Emit the start event of the response. This event includes the headers and status codes.
- Parameters:
send – The ASGI send function.
- Returns:
None
- class litestar.response.base.Response#
Bases:
Generic
[T
]Base Litestar HTTP response class, used as the basis for all other response classes.
- __init__(content: T, *, 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, type_encoders: TypeEncodersMap | None = None) None #
Initialize the response.
- Parameters:
content – A value for the response body that will be rendered into bytes string.
status_code – An HTTP status code.
media_type – A value for the response
Content-Type
header.background – A
BackgroundTask
instance orBackgroundTasks
to execute after the response is finished. Defaults toNone
.headers – A string keyed dictionary of response headers. Header keys are insensitive.
cookies – A list of
Cookie
instances to be set under the responseSet-Cookie
header.encoding – The encoding to be used for the response headers.
type_encoders – A mapping of types to callables that transform them into types supported for serialization.
- set_cookie(cookie: Cookie) None #
- set_cookie(key: str, value: str | None = None, max_age: int | None = None, expires: int | None = None, path: str = '/', domain: str | None = None, secure: bool = False, httponly: bool = False, samesite: Literal['lax', 'strict', 'none'] = 'lax') None
Set a cookie on the response. If passed a
Cookie
instance, keyword arguments will be ignored.- Parameters:
key – Key for the cookie or a
Cookie
instance.value – Value for the cookie, if none given defaults to empty string.
max_age – Maximal age of the cookie before its invalidated.
expires – Seconds from now until the cookie expires.
path – Path fragment that must exist in the request url for the cookie to be valid. Defaults to
/
.domain – Domain for which the cookie is valid.
secure – Https is required for the cookie.
httponly – Forbids javascript to access the cookie via
document.cookie
.samesite – Controls whether a cookie is sent with cross-site requests. Defaults to
lax
.
- Returns:
None.
- set_header(key: str, value: Any) None #
Set a header on the response.
- Parameters:
key – Header key.
value – Header value.
- Returns:
None.
- set_etag(etag: str | ETag) None #
Set an etag header.
- Parameters:
etag – An etag value.
- Returns:
None
- delete_cookie(key: str, path: str = '/', domain: str | None = None) None #
Delete a cookie.
- Parameters:
key – Key of the cookie.
path – Path of the cookie.
domain – Domain of the cookie.
- Returns:
None.
- render(content: Any, media_type: str, enc_hook: Serializer = <function default_serializer>) bytes #
Handle the rendering of content into a bytes string.
- Returns:
An encoded bytes string
- 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 ASGIResponse from a Response instance.
- Parameters:
app – The
Litestar
application instance.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_type
is already set on the response, this is ignored.request – The
Request
instance.status_code – Status code for the response. If
status_code
is already set on the response, this istype_encoders – A dictionary of type encoders to use for encoding the response content.
- Returns:
An ASGIResponse instance.