[package]
name = "subduction_http_longpoll"
version = "0.8.0"
description = "HTTP long-poll transport layer for the Subduction sync protocol"
categories = ["web-programming"]
keywords = ["http", "long-poll", "sync", "subduction"]
readme = "./README.md"
authors.workspace = true
edition.workspace = true
license.workspace = true
repository.workspace = true
rust-version.workspace = true
[dependencies]
async-channel = { workspace = true }
async-lock = { workspace = true }
blake3 = { workspace = true }
futures = { workspace = true }
future_form = { workspace = true }
futures-timer = { workspace = true }
futures-util = { workspace = true }
http-body-util = { workspace = true, optional = true }
hyper = { workspace = true, features = ["http1", "server"], optional = true }
rand = { workspace = true, features = ["getrandom"] }
reqwest = { workspace = true, optional = true }
sedimentree_core = { workspace = true }
subduction_core = { workspace = true }
subduction_crypto = { workspace = true }
thiserror = { workspace = true }
tracing = { workspace = true }
[target.'cfg(target_family = "wasm")'.dependencies]
getrandom = { version = "0.2", features = ["js"] }
[dev-dependencies]
bolero = { workspace = true }
eyre = { workspace = true }
futures-timer = { workspace = true }
hyper = { workspace = true, features = ["http1", "server"] }
hyper-util = { workspace = true, features = ["http1", "server-auto", "tokio"] }
rand = { workspace = true, features = ["std_rng"] }
reqwest = { workspace = true, features = ["rustls-tls"] }
sedimentree_core = { workspace = true, features = ["arbitrary", "serde", "std"] }
subduction_core = { workspace = true, features = ["test_utils"] }
subduction_crypto = { workspace = true }
subduction_websocket = { workspace = true, features = ["futures-timer"] }
testresult = { workspace = true }
tokio = { workspace = true }
tracing-subscriber = { workspace = true, features = ["fmt", "env-filter", "std"] }
[features]
default = ["std", "server", "reqwest", "rustls-tls"]
bolero = []
native-tls = ["reqwest", "reqwest/native-tls"]
reqwest = ["dep:reqwest", "std"]
rustls-tls = ["reqwest", "reqwest/rustls-tls"]
server = ["dep:http-body-util", "dep:hyper", "std"]
std = [
"async-channel/std",
"async-lock/std",
"blake3/std",
"futures/std",
"futures-util/std",
"rand/std",
"rand/std_rng",
"sedimentree_core/std",
"subduction_core/system_time",
"thiserror/std",
"tracing/std",
]
[lints]
workspace = true