diff options
author | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
---|---|---|
committer | Daniel Baumann <daniel.baumann@progress-linux.org> | 2024-04-07 17:32:43 +0000 |
commit | 6bf0a5cb5034a7e684dcc3500e841785237ce2dd (patch) | |
tree | a68f146d7fa01f0134297619fbe7e33db084e0aa /third_party/rust/h2/README.md | |
parent | Initial commit. (diff) | |
download | thunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.tar.xz thunderbird-6bf0a5cb5034a7e684dcc3500e841785237ce2dd.zip |
Adding upstream version 1:115.7.0.upstream/1%115.7.0upstream
Signed-off-by: Daniel Baumann <daniel.baumann@progress-linux.org>
Diffstat (limited to 'third_party/rust/h2/README.md')
-rw-r--r-- | third_party/rust/h2/README.md | 71 |
1 files changed, 71 insertions, 0 deletions
diff --git a/third_party/rust/h2/README.md b/third_party/rust/h2/README.md new file mode 100644 index 0000000000..2e15999149 --- /dev/null +++ b/third_party/rust/h2/README.md @@ -0,0 +1,71 @@ +# H2 + +A Tokio aware, HTTP/2 client & server implementation for Rust. + +[![License: MIT](https://img.shields.io/badge/License-MIT-blue.svg)](https://opensource.org/licenses/MIT) +[![Crates.io](https://img.shields.io/crates/v/h2.svg)](https://crates.io/crates/h2) +[![Documentation](https://docs.rs/h2/badge.svg)][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 |