# 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]
name = "http"
version = "0.1.21"
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.4"

[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.6"

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

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

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

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