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:

  1. IntoReq: The client serializes the ServerFn argument type into an HTTP request.
  2. The Client sends the request to the server.
  3. FromReq: The server deserializes the HTTP request back into the ServerFn type.
  4. The server calls calls ServerFn::run_body on the data.
  5. IntoRes: The server serializes the ServerFn::Output type into an HTTP response.
  6. The server integration applies any middleware from ServerFn::middlewares and responds to the request.
  7. FromRes: The client deserializes the response back into the ServerFn::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§

ByteStream
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.
JsonStream
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.
StreamingJson
An encoding that represents a stream of JSON data.
StreamingText
An encoding that represents a stream of text.
TextStream
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.