This patch renames a number of types and functions making the API more consistent. * `Server` -> `Connection` * `Client` -> `SendRequest` * `Respond` -> `SendResponse`. It also moves the handshake fns off of `Connection` and make them free fns in the module. And `Connection::builder` is removed in favor of `Builder::new`.
66 lines
1.8 KiB
Markdown
66 lines
1.8 KiB
Markdown
# H2
|
|
|
|
A Tokio aware, HTTP/2.0 client & server implementation for Rust.
|
|
|
|
[](https://travis-ci.org/carllerche/h2)
|
|
[](https://codecov.io/gh/carllerche/h2)
|
|
<!-- [](https://crates.io/crates/h2) -->
|
|
<!-- [][dox] -->
|
|
|
|
**This library is not production ready. Do not try to use it in a production
|
|
environment or you will regret it!** This crate is still under active
|
|
development and there has not yet been any focus on documentation (because you
|
|
shouldn't be using it yet!).
|
|
|
|
More information about this crate can be found in the [crate documentation][dox]
|
|
|
|
[dox]: https://carllerche.github.io/h2/h2
|
|
|
|
## Features
|
|
|
|
* Client and server HTTP/2.0 implementation.
|
|
* Implements the full HTTP/2.0 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.0
|
|
specification. It does not handle:
|
|
|
|
* Managing TCP connections
|
|
* HTTP 1.0 upgrade
|
|
* TLS
|
|
* Any feature not described by the HTTP/2.0 specification.
|
|
|
|
The intent is that this crate will eventually be 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 = { git = 'https://github.com/carllerche/h2' } # soon to be on crates.io!
|
|
```
|
|
|
|
Next, add this to your crate:
|
|
|
|
```rust
|
|
extern crate h2;
|
|
|
|
use h2::server::Connection;
|
|
|
|
fn main() {
|
|
// ...
|
|
}
|
|
```
|
|
|
|
## FAQ
|
|
|
|
**Is this an embedded Java SQL database engine?**
|
|
|
|
[No](http://www.h2database.com).
|