# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies
#
# If you believe there's an error in this file please file an
# issue against the rust-lang/cargo repository. If you're
# editing this file be aware that the upstream Cargo.toml
# will likely look very different (and much more reasonable)

[package]
edition = "2018"
name = "http"
version = "0.2.1"
authors = ["Alex Crichton <alex@alexcrichton.com>", "Carl Lerche <me@carllerche.com>", "Sean McArthur <sean@seanmonstar.com>"]
description = "A set of types for representing HTTP requests and responses.\n"
documentation = "https://docs.rs/http"
readme = "README.md"
keywords = ["http"]
categories = ["web-programming"]
license = "MIT/Apache-2.0"
repository = "https://github.com/hyperium/http"

[[bench]]
name = "header_map"
path = "benches/header_map/mod.rs"

[[bench]]
name = "header_name"
path = "benches/header_name.rs"

[[bench]]
name = "header_value"
path = "benches/header_value.rs"

[[bench]]
name = "uri"
path = "benches/uri.rs"
[dependencies.bytes]
version = "0.5"

[dependencies.fnv]
version = "1.0.5"

[dependencies.itoa]
version = "0.4.1"
[dev-dependencies.doc-comment]
version = "0.3"

[dev-dependencies.indexmap]
version = "1.0"

[dev-dependencies.quickcheck]
version = "0.9.0"

[dev-dependencies.rand]
version = "0.7.0"

[dev-dependencies.seahash]
version = "3.0.5"

[dev-dependencies.serde]
version = "1.0"

[dev-dependencies.serde_json]
version = "1.0"
