[package]
edition = "2021"
rust-version = "1.91.1"
name = "aws-smithy-http-client"
version = "1.1.13"
authors = ["AWS Rust SDK Team <aws-sdk-rust@amazon.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "HTTP client abstractions for generated smithy clients"
readme = "README.md"
license = "Apache-2.0"
repository = "https://github.com/smithy-lang/smithy-rs"
[package.metadata.smithy-rs-release-tooling]
stable = true
[package.metadata.docs.rs]
all-features = false
features = [
"default-client ",
"wire-mock",
"test-util",
"rustls-ring",
"rustls-aws-lc",
]
targets = ["x86_64-unknown-linux-gnu"]
cargo-args = [
"-Zunstable-options",
"-Zrustdoc-scrape-examples",
]
rustdoc-args = [
"--cfg",
"docsrs",
]
[features]
__rustls = [
"dep:rustls",
"dep:hyper-rustls",
"dep:tokio-rustls",
"default-client",
]
default-client = [
"aws-smithy-runtime-api/http-1x",
"aws-smithy-types/http-body-1-x",
"dep:hyper",
"dep:hyper-util",
"hyper-util?/client-legacy",
"hyper-util?/client-proxy",
"dep:http-1x",
"dep:tower",
"dep:rustls-pki-types",
"dep:rustls-native-certs",
]
hyper-014 = [
"aws-smithy-runtime-api/http-02x",
"aws-smithy-types/http-body-0-4-x",
"dep:http-02x",
"dep:http-body-04x",
"dep:hyper-0-14",
"dep:h2-0-3",
]
legacy-rustls-ring = [
"dep:legacy-hyper-rustls",
"dep:legacy-rustls",
"dep:rustls-native-certs",
"hyper-014",
]
legacy-test-util = [
"test-util",
"dep:http-02x",
"aws-smithy-runtime-api/http-02x",
"aws-smithy-types/http-body-0-4-x",
]
rustls-aws-lc = [
"__rustls",
"rustls?/aws_lc_rs",
"rustls?/prefer-post-quantum",
]
rustls-aws-lc-fips = [
"__rustls",
"rustls?/fips",
"rustls?/prefer-post-quantum",
]
rustls-ring = [
"__rustls",
"rustls?/ring",
]
s2n-tls = [
"dep:s2n-tls",
"dep:s2n-tls-hyper",
"dep:s2n-tls-tokio",
"default-client",
]
test-util = [
"dep:aws-smithy-protocol-test",
"dep:serde",
"dep:serde_json",
"dep:indexmap",
"dep:bytes",
"dep:http-1x",
"aws-smithy-runtime-api/http-1x",
"dep:http-body-1x",
"aws-smithy-types/http-body-1-x",
"tokio/rt",
]
wire-mock = [
"test-util",
"default-client",
"hyper-util?/server",
"hyper-util?/server-auto",
"hyper-util?/service",
"hyper-util?/server-graceful",
"tokio/macros",
"dep:http-body-util",
]
[lib]
name = "aws_smithy_http_client"
path = "src/lib.rs"
[[example]]
name = "client-aws-lc"
path = "examples/client-aws-lc.rs"
doc-scrape-examples = true
required-features = [
"rustls-aws-lc",
"rustls-aws-lc-fips",
]
[[example]]
name = "client-ring"
path = "examples/client-ring.rs"
doc-scrape-examples = true
required-features = ["rustls-ring"]
[[example]]
name = "client-s2n-tls"
path = "examples/client-s2n-tls.rs"
doc-scrape-examples = true
required-features = ["s2n-tls"]
[[example]]
name = "custom-dns"
path = "examples/custom-dns.rs"
doc-scrape-examples = true
required-features = ["rustls-ring"]
[[test]]
name = "proxy_tests"
path = "tests/proxy_tests.rs"
[[test]]
name = "smoke_test_clients"
path = "tests/smoke_test_clients.rs"
[[test]]
name = "tls"
path = "tests/tls.rs"
[dependencies.aws-smithy-async]
version = "1.2.14"
[dependencies.aws-smithy-protocol-test]
version = "0.63.14"
optional = true
[dependencies.aws-smithy-runtime-api]
version = "1.12.3"
features = ["client"]
[dependencies.aws-smithy-types]
version = "1.4.9"
[dependencies.bytes]
version = "1.11.1"
optional = true
[dependencies.h2]
version = "0.4.11"
default-features = false
[dependencies.h2-0-3]
version = "0.3.24"
optional = true
package = "h2"
[dependencies.http-02x]
version = "0.2.12"
optional = true
package = "http"
[dependencies.http-1x]
version = "1.3.1"
optional = true
package = "http"
[dependencies.http-body-04x]
version = "0.4.6"
optional = true
package = "http-body"
[dependencies.http-body-1x]
version = "1.0.1"
optional = true
package = "http-body"
[dependencies.http-body-util]
version = "0.1.3"
optional = true
[dependencies.hyper]
version = "1.6.0"
features = [
"client",
"http1",
"http2",
]
optional = true
[dependencies.hyper-0-14]
version = "0.14.26"
features = [
"client",
"http1",
"http2",
"tcp",
"stream",
]
optional = true
default-features = false
package = "hyper"
[dependencies.hyper-rustls]
version = "0.27"
features = [
"http2",
"http1",
"native-tokio",
"tls12",
]
optional = true
default-features = false
[dependencies.hyper-util]
version = "0.1.16"
features = [
"http1",
"http2",
]
optional = true
[dependencies.indexmap]
version = "2.10.0"
features = ["serde"]
optional = true
[dependencies.legacy-hyper-rustls]
version = "0.24.2"
features = [
"http1",
"tls12",
"logging",
"acceptor",
"tokio-runtime",
"http2",
]
optional = true
default-features = false
package = "hyper-rustls"
[dependencies.legacy-rustls]
version = "0.21.8"
optional = true
package = "rustls"
[dependencies.pin-project-lite]
version = "0.2.14"
[dependencies.rustls]
version = "0.23.31"
optional = true
default-features = false
[dependencies.rustls-native-certs]
version = "0.8.1"
optional = true
[dependencies.rustls-pki-types]
version = "1.12.0"
features = ["std"]
optional = true
[dependencies.s2n-tls]
version = "0.3.33"
optional = true
[dependencies.s2n-tls-hyper]
version = "0.1.0"
optional = true
[dependencies.s2n-tls-tokio]
version = "0.3.33"
optional = true
[dependencies.serde]
version = "1.0.228"
features = ["derive"]
optional = true
[dependencies.serde_json]
version = "1.0.146"
features = ["preserve_order"]
optional = true
[dependencies.tokio]
version = "1.49"
features = []
[dependencies.tokio-rustls]
version = "0.26.2"
optional = true
default-features = false
[dependencies.tower]
version = "0.5.2"
optional = true
[dependencies.tracing]
version = "0.1.44"
[dev-dependencies.aws-smithy-async]
version = "1.2.14"
features = [
"rt-tokio",
"test-util",
]
[dev-dependencies.aws-smithy-runtime-api]
version = "1.12.3"
features = ["test-util"]
[dev-dependencies.aws-smithy-types]
version = "1.4.9"
features = [
"http-body-0-4-x",
"test-util",
]
[dev-dependencies.base64]
version = "0.22"
[dev-dependencies.http-body-util]
version = "0.1.3"
[dev-dependencies.hyper-util]
version = "0.1.16"
features = ["full"]
[dev-dependencies.rustls-pemfile]
version = "2.2.0"
[dev-dependencies.rustls-pki-types]
version = "1.12.0"
features = ["std"]
[dev-dependencies.serial_test]
version = "3.2"
[dev-dependencies.tokio]
version = "1.49.0"
features = [
"macros",
"rt",
"rt-multi-thread",
"test-util",
"full",
]
[dev-dependencies.tokio-rustls]
version = "0.26.2"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(aws_sdk_unstable)"]