[package]
name = "alloy-transport-http"
description = "HTTP transport implementation"
version.workspace = true
edition.workspace = true
rust-version.workspace = true
authors.workspace = true
license.workspace = true
homepage.workspace = true
repository.workspace = true
exclude.workspace = true
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[lints]
workspace = true
[dependencies]
alloy-json-rpc = { workspace = true, optional = true }
alloy-transport.workspace = true
url.workspace = true
serde_json = { workspace = true, optional = true }
tower = { workspace = true, optional = true }
reqwest = { workspace = true, features = ["json"], optional = true }
tracing = { workspace = true, optional = true }
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
http-body-util = { workspace = true, optional = true }
hyper = { workspace = true, default-features = false, optional = true }
hyper-util = { workspace = true, features = ["full"], optional = true }
alloy-rpc-types-engine = { workspace = true, optional = true }
jsonwebtoken = { workspace = true, optional = true }
[features]
default = ["reqwest", "reqwest-default-tls"]
reqwest = [
"dep:reqwest",
"dep:alloy-json-rpc",
"dep:serde_json",
"dep:tower",
"dep:tracing",
]
hyper = [
"dep:hyper",
"dep:hyper-util",
"dep:http-body-util",
"dep:alloy-json-rpc",
"dep:serde_json",
"dep:tower",
"dep:tracing",
]
jwt-auth = [
"hyper",
"dep:alloy-rpc-types-engine",
"alloy-rpc-types-engine/jwt",
"alloy-rpc-types-engine/serde",
"dep:jsonwebtoken",
]
reqwest-default-tls = ["reqwest?/default-tls"]
reqwest-native-tls = ["reqwest?/native-tls"]
reqwest-rustls-tls = ["reqwest?/rustls-tls"]