zenwave 0.5.3

Ergonomic HTTP client framework.
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

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

[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",
    "dep:dns-lookup",
]
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"

[[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",
]

[[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 = "wasm_worker_tests"
path = "tests/wasm_worker_tests.rs"

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

[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]
version = "0.3"
features = [
    "io",
    "sink",
]

[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]
version = "1.0"
features = ["derive"]
default-features = false

[dependencies.serde_json]
version = "1.0"

[dependencies.thiserror]
version = "2.0"

[dependencies.tracing]
version = "0.1"

[dependencies.url]
version = "2.5"

[dev-dependencies.futures-executor]
version = "0.3"

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

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

[dev-dependencies.test_executors]
version = "0.4"

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

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

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

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

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

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

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

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

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

[target.'cfg(not(target_arch = "wasm32"))'.dependencies.dns-lookup]
version = "3.0"
optional = true

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

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

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

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

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

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

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

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

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

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

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

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

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

[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.5"

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

[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"

[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"