# 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.25"
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"]

[[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.9"
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"
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",
]

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