Skip to content

0x676e67/http2

Repository files navigation

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.

About

HTTP/2 library written in Rust

Topics

Resources

License

Contributing

Stars

Watchers

Forks

Sponsor this project

 

Contributors 96

Languages