Expand description
Encodings for arguments and results. The serialization/deserialization process for server functions consists of a series of steps, each of which is represented by a different trait:
IntoReq
: The client serializes theServerFn
argument type into an HTTP request.- The
Client
sends the request to the server. FromReq
: The server deserializes the HTTP request back into theServerFn
type.- The server calls calls
ServerFn::run_body
on the data. IntoRes
: The server serializes theServerFn::Output
type into an HTTP response.- The server integration applies any middleware from
ServerFn::middlewares
and responds to the request. FromRes
: The client deserializes the response back into theServerFn::Output
type.
Rather than a limited number of encodings, this crate allows you to define server functions that
mix and match the input encoding and output encoding. To define a new encoding, you simply implement
an input combination (IntoReq
and FromReq
) and/or an output encoding (IntoRes
and FromRes
).
This genuinely is an and/or: while some encodings can be used for both input and output (Json
, Cbor
, Rkyv
),
others can only be used for input (GetUrl
, MultipartData
).
Structs§
- Byte
Stream - A stream of bytes.
- GetUrl
- Pass arguments as a URL-encoded query string of a
GET
request. - Json
- Pass arguments and receive responses as JSON in the body of a
POST
request. - Json
Stream - A stream of typed data encoded as JSON.
- PostUrl
- Pass arguments as the URL-encoded body of a
POST
request. - Streaming
- An encoding that represents a stream of bytes.
- Streaming
Json - An encoding that represents a stream of JSON data.
- Streaming
Text - An encoding that represents a stream of text.
- Text
Stream - A stream of text.
Traits§
- Encoding
- Defines a particular encoding format, which can be used for serializing or deserializing data.
- FromReq
- Deserializes an HTTP request into the data type, on the server.
- FromRes
- Deserializes the data type from an HTTP response.
- IntoReq
- Serializes a data type into an HTTP request, on the client.
- IntoRes
- Serializes the data type into an HTTP response.