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 theServerFnargument type into an HTTP request.- The
Clientsends the request to the server. FromReq: The server deserializes the HTTP request back into theServerFntype.- The server calls
ServerFn::run_bodyon the data. IntoRes: The server serializes theServerFn::Outputtype into an HTTP response.- The server integration applies any middleware from
ServerFn::middlewaresand responds to the request. FromRes: The client deserializes the response back into theServerFn::Outputtype.
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.
- Delete
Url - Pass arguments as the URL-encoded query string of a
DELETErequest. Note: Browser support forDELETErequests without JS/WASM may be poor. Consider using aPOSTrequest if functionality without JS/WASM is required. - GetUrl
- Pass arguments as a URL-encoded query string of a
GETrequest. - Json
Encoding - Serializes and deserializes JSON with
serde_json. - Patch
- A codec that encodes the data in the patch body
- Patch
Url - Pass arguments as the URL-encoded body of a
PATCHrequest. Note: Browser support forPATCHrequests without JS/WASM may be poor. Consider using aPOSTrequest if functionality without JS/WASM is required. - Post
- A codec that encodes the data in the post body
- PostUrl
- Pass arguments as the URL-encoded body of a
POSTrequest. - Put
- A codec that encodes the data in the put body
- PutUrl
- Pass arguments as the URL-encoded body of a
PUTrequest. Note: Browser support forPUTrequests without JS/WASM may be poor. Consider using aPOSTrequest if functionality without JS/WASM is required. - Streaming
- An encoding that represents a stream of bytes.
- 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.
Type Aliases§
- Json
- Pass arguments and receive responses as JSON in the body of a
POSTrequest. - Patch
Json - Pass arguments and receive responses as JSON in the body of a
PATCHrequest. Note: Browser support forPATCHrequests without JS/WASM may be poor. Consider using aPOSTrequest if functionality without JS/WASM is required. - PutJson
- Pass arguments and receive responses as JSON in the body of a
PUTrequest. Note: Browser support forPUTrequests without JS/WASM may be poor. Consider using aPOSTrequest if functionality without JS/WASM is required.