Inertia Response¶
- class litestar_vite.inertia.response.InertiaResponse[source]¶
Bases:
Response
[T
]Inertia Response
- __init__(content: T, *, template_name: str | None = None, template_str: str | None = None, background: BackgroundTask | BackgroundTasks | None = None, context: dict[str, Any] | None = None, cookies: ResponseCookies | None = None, encoding: str = 'utf-8', headers: ResponseHeaders | None = None, media_type: MediaType | str | None = None, status_code: int = 200, type_encoders: TypeEncodersMap | None = None) None [source]¶
Handle the rendering of a given template into a bytes string.
- Parameters:
content – A value for the response body that will be rendered into bytes string.
template_name – Path-like name for the template to be rendered, e.g.
index.html
.template_str – A string representing the template, e.g.
tmpl = "Hello <strong>World</strong>"
.background – A
BackgroundTask
instance orBackgroundTasks
to execute after the response is finished. Defaults toNone
.context – A dictionary of key/value pairs to be passed to the temple engine’s render method.
cookies – A list of
Cookie
instances to be set under the responseSet-Cookie
header.encoding – Content encoding
headers – A string keyed dictionary of response headers. Header keys are insensitive.
media_type – A string or member of the
MediaType
enum. If not set, try to infer the media type based on the template name. If this fails, fall back totext/plain
.status_code – A value for the response HTTP status code.
type_encoders – A mapping of types to callables that transform them into types supported for serialization.
- create_template_context(request: Request[UserT, AuthT, StateT], page_props: PageProps[T], type_encoders: TypeEncodersMap | None = None) dict[str, Any] [source]¶
Create a context object for the template.
- Parameters:
request – A
Request
instance.page_props – A formatted object to return the inertia configuration.
type_encoders – A mapping of types to callables that transform them into types supported for serialization.
- Returns:
A dictionary holding the template context
- to_asgi_response(app: Litestar | None, request: Request[UserT, AuthT, StateT], *, 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 [source]¶
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.
- 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
- set_cookie(key: str | Cookie, 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.
- class litestar_vite.inertia.response.InertiaExternalRedirect[source]¶
-
Client side redirect.
- __init__(request: Request[Any, Any, Any], redirect_to: str, **kwargs: Any) None [source]¶
Initialize external redirect, Set status code to 409 (required by Inertia), and pass redirect url.
- 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
- set_cookie(key: str | Cookie, 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_etag(etag: str | ETag) None ¶
Set an etag header.
- Parameters:
etag – An etag value.
- Returns:
None
- set_header(key: str, value: Any) None ¶
Set a header on the response.
- Parameters:
key – Header key.
value – Header value.
- Returns:
None.
- 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.
- class litestar_vite.inertia.response.InertiaRedirect[source]¶
Bases:
Redirect
Client side redirect.
- __init__(request: Request[Any, Any, Any], redirect_to: str, **kwargs: Any) None [source]¶
Initialize external redirect, Set status code to 409 (required by Inertia), and pass redirect url.
- 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
- set_cookie(key: str | Cookie, 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_etag(etag: str | ETag) None ¶
Set an etag header.
- Parameters:
etag – An etag value.
- Returns:
None
- set_header(key: str, value: Any) None ¶
Set a header on the response.
- Parameters:
key – Header key.
value – Header value.
- Returns:
None.
- 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.
- class litestar_vite.inertia.response.InertiaBack[source]¶
Bases:
Redirect
Client side redirect.
- __init__(request: Request[Any, Any, Any], **kwargs: Any) None [source]¶
Initialize external redirect, Set status code to 409 (required by Inertia), and pass redirect url.
- 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
- set_cookie(key: str | Cookie, 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_etag(etag: str | ETag) None ¶
Set an etag header.
- Parameters:
etag – An etag value.
- Returns:
None
- set_header(key: str, value: Any) None ¶
Set a header on the response.
- Parameters:
key – Header key.
value – Header value.
- Returns:
None.
- 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.