zenwave 0.1.0

Ergonomic HTTP client framework.
Documentation
[dependencies.anyhow]
version = "1.0.100"

[dependencies.async-lock]
version = "3.4"

[dependencies.base64]
version = "0.22"

[dependencies.futures-channel]
version = "0.3"

[dependencies.futures-io]
version = "0.3"

[dependencies.futures-util]
features = ["io", "sink"]
version = "0.3"

[dependencies.http]
version = "1.3.1"

[dependencies.http-kit]
version = "0.4"

[dependencies.httpdate]
version = "1.0"

[dependencies.js-sys]
version = "0.3.82"

[dependencies.serde]
default-features = false
features = ["derive"]
version = "1.0"

[dependencies.serde_json]
version = "1.0"

[dependencies.thiserror]
version = "2.0"

[dependencies.url]
version = "2.5"

[dev-dependencies.async-std]
features = ["attributes"]
version = "1.13"

[dev-dependencies.serde_json]
version = "1.0"

[dev-dependencies.tempfile]
version = "3.13"

[dev-dependencies.tiny_http]
version = "0.12"

[[example]]
name = "basic_get"
path = "examples/basic_get.rs"
required-features = ["hyper-backend"]

[[example]]
name = "custom_client"
path = "examples/custom_client.rs"
required-features = ["hyper-backend"]

[[example]]
name = "websocket_echo"
path = "examples/websocket_echo.rs"
required-features = ["hyper-backend", "ws"]

[features]
apple-backend = []
curl-backend = ["dep:curl", "dep:blocking", "proxy"]
default = ["default-backend", "ws"]
default-backend = ["hyper-backend", "native-tls", "rustls"]
hyper-backend = ["dep:hyper", "dep:http-body-util"]
hyper-native-tls = ["hyper-backend", "native-tls"]
hyper-rustls = ["hyper-backend", "rustls"]
native-tls = ["dep:async-native-tls", "dep:native-tls"]
proxy = []
rustls = ["dep:futures-rustls", "dep:rustls", "dep:webpki-roots", "dep:rustls-native-certs"]
ws = ["dep:async-tungstenite"]

[lib]
name = "zenwave"
path = "src/lib.rs"

[lints.clippy]
all = "warn"
cargo = "allow"
complexity = "warn"
correctness = "warn"
nursery = "warn"
pedantic = "warn"
perf = "warn"
style = "warn"
suspicious = "warn"

[lints.rust]
missing_debug_implementations = "warn"
missing_docs = "warn"
unexpected_cfgs = "allow"

[package]
authors = ["Lexo Liu<me@lexo.cool>"]
autobenches = false
autobins = false
autoexamples = false
autolib = false
autotests = false
build = false
categories = ["network-programming", "web-programming::http-client"]
description = "Ergonomic HTTP client framework."
edition = "2024"
keywords = ["http", "client", "async", "networking", "middleware"]
license = "MIT"
name = "zenwave"
readme = "README.md"
repository = "https://github.com/zen-rs/zenwave"
version = "0.1.0"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.async-fs]
default-features = false
version = "2.2.0"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.async-io]
version = "2.4"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.async-native-tls]
default-features = false
features = ["runtime-async-std"]
optional = true
version = "0.5.0"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.async-net]
version = "2.0"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.async-tungstenite]
default-features = false
features = ["async-std-runtime", "async-tls"]
optional = true
version = "0.32.0"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.blocking]
optional = true
version = "1.6"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.curl]
optional = true
version = "0.4"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.dirs]
version = "6.0"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.executor-core]
version = "0.7.0"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.futures-rustls]
optional = true
version = "0.26"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.http-body-util]
optional = true
version = "0.1.3"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.hyper]
default-features = false
features = ["client", "http1"]
optional = true
version = "1.8"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.native-tls]
optional = true
version = "0.2"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.once_cell]
version = "1.19"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.rustls]
default-features = false
features = ["ring", "std", "tls12"]
optional = true
version = "0.23"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.rustls-native-certs]
optional = true
version = "0.8"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.time]
version = "0.3"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.tower-service]
version = "0.3"

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.webpki-roots]
optional = true
version = "1.0"

[target.'cfg(target_arch = "wasm32")'.dependencies.gloo-timers]
features = ["futures"]
version = "0.3"

[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen]
version = "0.2.105"

[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-bindgen-futures]
version = "0.4.55"

[target.'cfg(target_arch = "wasm32")'.dependencies.wasm-streams]
version = "0.4.2"

[target.'cfg(target_arch = "wasm32")'.dependencies.web-sys]
features = ["Window", "Request", "RequestInit", "Headers", "ReadableStream", "Response", "WebSocket", "MessageEvent", "CloseEvent", "ErrorEvent", "BinaryType"]
version = "0.3"

[target.'cfg(target_arch = "wasm32")'.dev-dependencies.wasm-bindgen-test]
version = "0.3"

[target.'cfg(target_vendor = "apple")'.dependencies.block]
version = "0.1"

[target.'cfg(target_vendor = "apple")'.dependencies.objc]
version = "0.2"

[[test]]
name = "auth_tests"
path = "tests/auth_tests.rs"

[[test]]
name = "backend_tests"
path = "tests/backend_tests.rs"

[[test]]
name = "client_tests"
path = "tests/client_tests.rs"

[[test]]
name = "convenience_tests"
path = "tests/convenience_tests.rs"

[[test]]
name = "error_tests"
path = "tests/error_tests.rs"

[[test]]
name = "integration_tests"
path = "tests/integration_tests.rs"

[[test]]
name = "middleware_tests"
path = "tests/middleware_tests.rs"

[[test]]
name = "redirect_tests"
path = "tests/redirect_tests.rs"

[[test]]
name = "retry_tests"
path = "tests/retry_tests.rs"

[[test]]
name = "wasm_browser_tests"
path = "tests/wasm_browser_tests.rs"

[[test]]
name = "websocket_tests"
path = "tests/websocket_tests.rs"