http-client 6.5.1

Types and traits for http clients.
Documentation
[package]
name = "http-client"
version = "6.5.1"
license = "MIT OR Apache-2.0"
repository = "https://github.com/http-rs/http-client"
documentation = "https://docs.rs/http-client"
description = "Types and traits for http clients."
keywords = ["http", "service", "client", "futures", "async"]
categories = ["asynchronous", "web-programming", "web-programming::http-client", "web-programming::websocket"]
authors = [
    "Yoshua Wuyts <yoshuawuyts@gmail.com>",
    "dignifiedquire <me@dignifiedquire.com>",
    "Jeremiah Senkpiel <fishrock123@rocketmail.com>"
]
readme = "README.md"
edition = "2018"

[package.metadata.docs.rs]
features = ["docs"]
rustdoc-args = ["--cfg", "feature=\"docs\""]

[features]
default = ["h1_client", "native-tls"]
docs = ["h1_client", "curl_client", "wasm_client", "hyper_client"]

h1_client = ["async-h1", "async-std", "deadpool", "futures"]
native_client = ["curl_client", "wasm_client"]
curl_client = ["isahc", "async-std"]
wasm_client = ["js-sys", "web-sys", "wasm-bindgen", "wasm-bindgen-futures", "futures", "async-std"]
hyper_client = ["hyper", "hyper-tls", "http-types/hyperium_http", "futures-util", "tokio"]

native-tls = ["async-native-tls"]
rustls = ["async-tls", "rustls_crate"]

unstable-config = [] # deprecated

[dependencies]
async-trait = "0.1.37"
dashmap = "4.0.2"
http-types = "2.3.0"
log = "0.4.7"
cfg-if = "1.0.0"

# h1_client
async-h1 = { version = "2.0.0", optional = true }
async-std = { version = "1.6.0", default-features = false, optional = true }
async-native-tls = { version = "0.3.1", optional = true }
deadpool = { version = "0.7.0", optional = true }
futures = { version = "0.3.8", optional = true }

# h1_client_rustls
async-tls = { version = "0.10.0", optional = true }
rustls_crate = { version = "0.18", optional = true, package = "rustls" }

# hyper_client
hyper = { version = "0.13.6", features = ["tcp"], optional = true }
hyper-tls = { version = "0.4.3", optional = true }
futures-util = { version = "0.3.5", features = ["io"], optional = true }
tokio = { version = "0.2", features = ["time"], optional = true }

# curl_client
[target.'cfg(not(target_arch = "wasm32"))'.dependencies]
isahc = { version = "0.9", optional = true, default-features = false, features = ["http2"]  }

# wasm_client
[target.'cfg(target_arch = "wasm32")'.dependencies]
js-sys = { version = "0.3.25", optional = true }
wasm-bindgen = { version = "0.2.48", optional = true }
wasm-bindgen-futures = { version = "0.4.5", optional = true }
futures = { version = "0.3.1", optional = true }

[target.'cfg(target_arch = "wasm32")'.dependencies.web-sys]
version = "0.3.25"
optional = true
features = [
    "AbortSignal",
    "Headers",
    "ObserverCallback",
    "ReferrerPolicy",
    "Request",
    "RequestCache",
    "RequestCredentials",
    "RequestInit",
    "RequestMode",
    "RequestRedirect",
    "Response",
    "Window",
    "WorkerGlobalScope",
]

[dev-dependencies]
async-std = { version = "1.6.0", features = ["unstable", "attributes"] }
portpicker = "0.1.0"
tide = { version = "0.15.0", default-features = false, features = ["h1-server"] }
tide-rustls = { version = "0.1.4" }
tokio = { version = "0.2.21", features = ["macros"] }
serde = "1.0"
serde_json = "1.0"
mockito = "0.23.3"

[dev-dependencies.getrandom]
version = "0.2"
features = ["js"]