# 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 are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[package]
edition = "2018"
name = "hyper"
version = "0.14.28"
authors = ["Sean McArthur <sean@seanmonstar.com>"]
include = [
    "Cargo.toml",
    "LICENSE",
    "src/**/*",
]
description = "A fast and correct HTTP library."
homepage = "https://hyper.rs"
documentation = "https://docs.rs/hyper"
readme = "README.md"
keywords = [
    "http",
    "hyper",
    "hyperium",
]
categories = [
    "network-programming",
    "web-programming::http-client",
    "web-programming::http-server",
]
license = "MIT"
repository = "https://github.com/hyperium/hyper"

[package.metadata.docs.rs]
features = [
    "ffi",
    "full",
]
rustdoc-args = [
    "--cfg",
    "docsrs",
    "--cfg",
    "hyper_unstable_ffi",
]

[package.metadata.playground]
features = ["full"]

[profile.bench]
codegen-units = 1
incremental = false

[profile.release]
codegen-units = 1
incremental = false

[[example]]
name = "client"
path = "examples/client.rs"
required-features = ["full"]

[[example]]
name = "client_json"
path = "examples/client_json.rs"
required-features = ["full"]

[[example]]
name = "echo"
path = "examples/echo.rs"
required-features = ["full"]

[[example]]
name = "gateway"
path = "examples/gateway.rs"
required-features = ["full"]

[[example]]
name = "hello"
path = "examples/hello.rs"
required-features = ["full"]

[[example]]
name = "http_proxy"
path = "examples/http_proxy.rs"
required-features = ["full"]

[[example]]
name = "multi_server"
path = "examples/multi_server.rs"
required-features = ["full"]

[[example]]
name = "params"
path = "examples/params.rs"
required-features = ["full"]

[[example]]
name = "send_file"
path = "examples/send_file.rs"
required-features = ["full"]

[[example]]
name = "service_struct_impl"
path = "examples/service_struct_impl.rs"
required-features = ["full"]

[[example]]
name = "single_threaded"
path = "examples/single_threaded.rs"
required-features = ["full"]

[[example]]
name = "state"
path = "examples/state.rs"
required-features = ["full"]

[[example]]
name = "tower_client"
path = "examples/tower_client.rs"
required-features = [
    "full",
    "backports",
]

[[example]]
name = "tower_server"
path = "examples/tower_server.rs"
required-features = ["full"]

[[example]]
name = "upgrades"
path = "examples/upgrades.rs"
required-features = ["full"]

[[example]]
name = "web_api"
path = "examples/web_api.rs"
required-features = ["full"]

[[test]]
name = "client"
path = "tests/client.rs"
required-features = ["full"]

[[test]]
name = "integration"
path = "tests/integration.rs"
required-features = ["full"]

[[test]]
name = "server"
path = "tests/server.rs"
required-features = ["full"]

[[bench]]
name = "body"
path = "benches/body.rs"
required-features = ["full"]

[[bench]]
name = "connect"
path = "benches/connect.rs"
required-features = ["full"]

[[bench]]
name = "end_to_end"
path = "benches/end_to_end.rs"
required-features = ["full"]

[[bench]]
name = "pipeline"
path = "benches/pipeline.rs"
required-features = ["full"]

[[bench]]
name = "server"
path = "benches/server.rs"
required-features = ["full"]

[dependencies.bytes]
version = "1"

[dependencies.futures-channel]
version = "0.3"

[dependencies.futures-core]
version = "0.3"
default-features = false

[dependencies.futures-util]
version = "0.3"
default-features = false

[dependencies.h2]
version = "0.3.17"
optional = true

[dependencies.http]
version = "0.2"

[dependencies.http-body]
version = "0.4"

[dependencies.httparse]
version = "1.8"

[dependencies.httpdate]
version = "1.0"

[dependencies.itoa]
version = "1"

[dependencies.libc]
version = "0.2"
optional = true

[dependencies.pin-project-lite]
version = "0.2.4"

[dependencies.socket2]
version = ">=0.4.7, <0.6.0"
features = ["all"]
optional = true

[dependencies.tokio]
version = "1"
features = ["sync"]

[dependencies.tower-service]
version = "0.3"

[dependencies.tracing]
version = "0.1"
features = ["std"]
default-features = false

[dependencies.want]
version = "0.3"

[dev-dependencies.futures-util]
version = "0.3"
features = ["alloc"]
default-features = false

[dev-dependencies.matches]
version = "0.1"

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

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

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

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

[dev-dependencies.spmc]
version = "0.3"

[dev-dependencies.tokio]
version = "1"
features = [
    "fs",
    "macros",
    "io-std",
    "io-util",
    "rt",
    "rt-multi-thread",
    "sync",
    "time",
    "test-util",
]

[dev-dependencies.tokio-test]
version = "0.4"

[dev-dependencies.tokio-util]
version = "0.7"
features = ["codec"]

[dev-dependencies.tower]
version = "0.4"
features = [
    "make",
    "util",
]
default-features = false

[dev-dependencies.url]
version = "2.2"

[features]
__internal_happy_eyeballs_tests = []
backports = []
client = []
default = []
deprecated = []
ffi = ["libc"]
full = [
    "client",
    "http1",
    "http2",
    "server",
    "stream",
    "runtime",
]
http1 = []
http2 = ["h2"]
nightly = []
runtime = [
    "tcp",
    "tokio/rt",
    "tokio/time",
]
server = []
stream = []
tcp = [
    "socket2",
    "tokio/net",
    "tokio/rt",
    "tokio/time",
]

[target."cfg(any(target_os = \"linux\", target_os = \"macos\"))".dev-dependencies.pnet_datalink]
version = "0.27.2"
