blob: 2e15999149ff887d722fa17d8325db8c9d3d0e06 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
|
# H2
A Tokio aware, HTTP/2 client & server implementation for Rust.
[](https://opensource.org/licenses/MIT)
[](https://crates.io/crates/h2)
[][dox]
More information about this crate can be found in the [crate documentation][dox].
[dox]: https://docs.rs/h2
## Features
* Client and server HTTP/2 implementation.
* Implements the full HTTP/2 specification.
* Passes [h2spec](https://github.com/summerwind/h2spec).
* Focus on performance and correctness.
* Built on [Tokio](https://tokio.rs).
## Non goals
This crate is intended to only be an implementation of the HTTP/2
specification. It does not handle:
* Managing TCP connections
* HTTP 1.0 upgrade
* TLS
* Any feature not described by the HTTP/2 specification.
This crate is now used by [hyper](https://github.com/hyperium/hyper), which will provide all of these features.
## Usage
To use `h2`, first add this to your `Cargo.toml`:
```toml
[dependencies]
h2 = "0.3"
```
Next, add this to your crate:
```rust
extern crate h2;
use h2::server::Connection;
fn main() {
// ...
}
```
## FAQ
**How does h2 compare to [solicit] or [rust-http2]?**
The h2 library has implemented more of the details of the HTTP/2 specification
than any other Rust library. It also passes the [h2spec] set of tests. The h2
library is rapidly approaching "production ready" quality.
Besides the above, Solicit is built on blocking I/O and does not appear to be
actively maintained.
**Is this an embedded Java SQL database engine?**
[No](https://www.h2database.com).
[solicit]: https://github.com/mlalic/solicit
[rust-http2]: https://github.com/stepancheg/rust-http2
[h2spec]: https://github.com/summerwind/h2spec
|