http2

Crates.iohttp2
lib.rshttp2
version0.5.8
created_at2025-01-16 05:43:01.188371+00
updated_at2025-08-13 10:49:36.864071+00
descriptionAn HTTP/2 client and server
homepage
repositoryhttps://github.com/0x676e67/http2
max_upload_size
id1518929
size894,952
(0x676e67)

documentation

https://docs.rs/http2

README

http2

A Tokio aware, HTTP/2 client & server implementation for Rust.

License: MIT Crates.io Documentation

More information about this crate can be found in the crate documentation.

Features

  • Client and server HTTP/2 implementation.
  • Implements the full HTTP/2 specification.
  • Passes h2spec.
  • Focus on performance and correctness.
  • Built on Tokio.

Non-goals

This package focuses solely on implementing the HTTP/2 specification. It supports client-side processing based on the original h2 branch, including:

  • Optional tracing
  • Pseudo-header permutation for headers frame
  • Experimental and permuted settings frame support
  • Priority frame support (client-side only)
  • Major multi-core concurrency boost for client and server

This crate is now used by wreq, which will provide all of these features.

Usage

To use http2, first add this to your Cargo.toml:

[dependencies]
http2 = "0.5"

Next, add this to your crate:

extern crate http2;

use http2::server::Connection;

fn main() {
    // ...
}

Accolades

The project is based on a fork of h2.

Commit count: 837

cargo fmt