Skip to content

Overview

The body of an HTTP request is the primary mechanism to transmit a payload over the wire.

For the HTTP protocol, the body is just a stream of bytes. For an application, the body is a structured payload; it must be parsed and validated before it can be used.

Pavex provides tools at different levels of abstraction for working with the body of an HTTP request.

Deserializers

Deserializers transform the body into a Rust type, taking care of parsing, basic validation and security safeguards. They're the family of extractors you'll use most often in your Pavex application.

Out of the box, Pavex provides JSON and URL encoded.

Byte wrappers

Byte wrappers provide a safe(r) interface over the underlying stream of bytes. They provide safeguards and conveniences, but they don't do any parsing.

Raw access

The raw stream of bytes, straight from the network to your code. No parsing, no safeguards, no conveniences.