Crate hyper

source · []
Expand description

hyper

hyper is a fast and correct HTTP implementation written in and for Rust.

Features

  • HTTP/1 and HTTP/2
  • Asynchronous design
  • Leading in performance
  • Tested and correct
  • Extensive production use
  • Client and Server APIs

If just starting out, check out the Guides first.

“Low-level”

hyper is a lower-level HTTP library, meant to be a building block for libraries and applications.

If looking for just a convenient HTTP client, consider the reqwest crate.

Optional Features

The following optional features are available:

  • runtime (enabled by default): Enables convenient integration with tokio, providing connectors and acceptors for TCP, and a default executor.
  • tcp (enabled by default): Enables convenient implementations over TCP (using tokio).
  • stream (enabled by default): Provides futures::Stream capabilities.

Re-exports

pub use crate::client::Client;
pub use crate::server::Server;

Modules

Streaming bodies for Requests and Responses

HTTP Client

HTTP header types

Runtime components

HTTP Server

Asynchronous Services

HTTP Upgrades

Structs

A stream of Bytes, used when receiving bodies.

Represents errors that can occur handling HTTP streams.

A set of HTTP headers

The Request Method (VERB)

Represents an HTTP request.

Represents an HTTP response

An HTTP status code (status-code in RFC 7230 et al.).

The URI component of a request.

Represents a version of the HTTP spec.

Type Definitions

Result type often returned from methods that can have hyper Errors.