[package]
edition = "2021"
rust-version = "1.80"
name = "openwire"
version = "0.1.1"
authors = ["OpenWire contributors"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "OkHttp-inspired async HTTP client for Rust built on hyper and tower"
readme = "README.md"
keywords = [
"http",
"client",
"async",
"hyper",
"okhttp",
]
categories = [
"asynchronous",
"network-programming",
"web-programming::http-client",
]
license = "MIT"
repository = "https://github.com/peterich-rs/openwire"
[features]
compression = [
"dep:async-compression",
"async-compression/futures-io",
"async-compression/gzip",
"async-compression/zlib",
"async-compression/brotli",
"async-compression/zstd",
]
default = [
"tls-rustls",
"platform-verifier",
"compression",
]
json = ["openwire-core/json"]
platform-verifier = [
"tls-rustls",
"openwire-rustls/platform-verifier",
]
tls-rustls = ["dep:openwire-rustls"]
websocket = [
"openwire-core/websocket",
"dep:sha1",
"dep:getrandom",
]
[lib]
name = "openwire"
path = "src/lib.rs"
[[example]]
name = "authenticator"
path = "examples/authenticator.rs"
[[example]]
name = "basic_get"
path = "examples/basic_get.rs"
[[example]]
name = "cookie_jar"
path = "examples/cookie_jar.rs"
[[example]]
name = "custom_dns"
path = "examples/custom_dns.rs"
[[example]]
name = "event_listener_tracing"
path = "examples/event_listener_tracing.rs"
[[example]]
name = "https_proxy"
path = "examples/https_proxy.rs"
[[example]]
name = "logging_interceptor"
path = "examples/logging_interceptor.rs"
[[example]]
name = "post_streaming_body"
path = "examples/post_streaming_body.rs"
[[example]]
name = "websocket_echo"
path = "examples/websocket_echo.rs"
[[example]]
name = "websocket_subprotocol"
path = "examples/websocket_subprotocol.rs"
[[test]]
name = "integration"
path = "tests/integration.rs"
[[test]]
name = "live_network"
path = "tests/live_network.rs"
[[test]]
name = "performance_baseline"
path = "tests/performance_baseline.rs"
[[test]]
name = "websocket"
path = "tests/websocket.rs"
[[bench]]
name = "perf_baseline"
path = "benches/perf_baseline.rs"
harness = false
[dependencies.async-compression]
version = "=0.4.18"
optional = true
default-features = false
[dependencies.base64]
version = "0.22"
[dependencies.bytes]
version = "1.10.1"
[dependencies.cookie]
version = "0.18.0"
[dependencies.cookie_store]
version = "0.21.1"
features = ["public_suffix"]
default-features = false
[dependencies.futures-channel]
version = "0.3.31"
[dependencies.futures-util]
version = "0.3.31"
features = ["io"]
[dependencies.getrandom]
version = "0.2"
optional = true
[dependencies.http]
version = "1.3.1"
[dependencies.http-body]
version = "1.0.1"
[dependencies.http-body-util]
version = "0.1.3"
[dependencies.httpdate]
version = "1.0.3"
[dependencies.hyper]
version = "1.8.1"
features = ["full"]
[dependencies.openwire-core]
version = "0.1.1"
[dependencies.openwire-rustls]
version = "0.1.1"
optional = true
default-features = false
[dependencies.openwire-tokio]
version = "0.1.1"
[dependencies.pin-project-lite]
version = "0.2.16"
[dependencies.serde_json]
version = "1.0.145"
[dependencies.sha1]
version = "0.10"
optional = true
[dependencies.tokio]
version = "1.48.0"
features = ["full"]
[dependencies.tower]
version = "0.5.3"
features = [
"timeout",
"util",
]
[dependencies.tracing]
version = "0.1.41"
[dependencies.url]
version = "2.5.7"
[dev-dependencies.criterion]
version = "0.5.1"
features = ["async_tokio"]
[dev-dependencies.flate2]
version = "1.1"
[dev-dependencies.futures-util]
version = "0.3.31"
features = ["sink"]
[dev-dependencies.serde_json]
version = "1.0.145"
[dev-dependencies.tokio]
version = "1.48.0"
features = ["full"]
[dev-dependencies.tokio-tungstenite]
version = "0.24"
[dev-dependencies.tracing-subscriber]
version = "0.3.20"
features = [
"env-filter",
"fmt",
]
[dev-dependencies.zstd]
version = "0.13"