Import http crate

Bug: 288310258
Bug: 286134481
Test: m libhttp
Change-Id: Ib0caaff4c3f10dd06e55e11990db66bd4b1b3eb7
35 files changed
tree: 158274c95d485cda21f0af7f3b9fa74d1f420f75
  1. src/
  2. tests/
  3. Android.bp
  4. Cargo.toml
  5. Cargo.toml.orig
  6. CHANGELOG.md
  7. LICENSE-APACHE
  8. LICENSE-MIT
  9. METADATA
  10. MODULE_LICENSE_APACHE2
  11. OWNERS
  12. README.md
README.md

HTTP

A general purpose library of common HTTP types

CI Crates.io Documentation

More information about this crate can be found in the crate documentation.

Usage

To use http, first add this to your Cargo.toml:

[dependencies]
http = "0.2"

Next, add this to your crate:

use http::{Request, Response};

fn main() {
    // ...
}

Examples

Create an HTTP request:

use http::Request;

fn main() {
    let request = Request::builder()
      .uri("https://www.rust-lang.org/")
      .header("User-Agent", "awesome/1.0")
      .body(())
      .unwrap();
}

Create an HTTP response:

use http::{Response, StatusCode};

fn main() {
    let response = Response::builder()
      .status(StatusCode::MOVED_PERMANENTLY)
      .header("Location", "https://www.rust-lang.org/install.html")
      .body(())
      .unwrap();
}

Supported Rust Versions

This project follows the Tokio MSRV and is currently set to 1.49.

License

Licensed under either of

Contribution

Unless you explicitly state otherwise, any contribution intentionally submitted for inclusion in the work by you, as defined in the Apache-2.0 license, shall be dual licensed as above, without any additional terms or conditions.