README.md
1# HTTP
2
3A general purpose library of common HTTP types
4
5[](https://github.com/hyperium/http/actions?query=workflow%3ACI)
6[](https://crates.io/crates/http)
7[][dox]
8
9More information about this crate can be found in the [crate
10documentation][dox].
11
12[dox]: https://docs.rs/http
13
14## Usage
15
16To use `http`, first add this to your `Cargo.toml`:
17
18```toml
19[dependencies]
20http = "0.2"
21```
22
23Next, add this to your crate:
24
25```rust
26use http::{Request, Response};
27
28fn main() {
29 // ...
30}
31```
32
33## Examples
34
35Create an HTTP request:
36
37```rust
38use http::Request;
39
40fn main() {
41 let request = Request::builder()
42 .uri("https://www.rust-lang.org/")
43 .header("User-Agent", "awesome/1.0")
44 .body(())
45 .unwrap();
46}
47```
48
49Create an HTTP response:
50
51```rust
52use http::{Response, StatusCode};
53
54fn main() {
55 let response = Response::builder()
56 .status(StatusCode::MOVED_PERMANENTLY)
57 .header("Location", "https://www.rust-lang.org/install.html")
58 .body(())
59 .unwrap();
60}
61```
62
63# Supported Rust Versions
64
65This project follows the [Tokio MSRV][msrv] and is currently set to `1.49`.
66
67[msrv]: https://github.com/tokio-rs/tokio/#supported-rust-versions
68
69# License
70
71Licensed under either of
72
73- Apache License, Version 2.0 ([LICENSE-APACHE](LICENSE-APACHE) or https://apache.org/licenses/LICENSE-2.0)
74- MIT license ([LICENSE-MIT](LICENSE-MIT) or https://opensource.org/licenses/MIT)
75
76# Contribution
77
78Unless you explicitly state otherwise, any contribution intentionally submitted
79for inclusion in the work by you, as defined in the Apache-2.0 license, shall be
80dual licensed as above, without any additional terms or conditions.
81