[package]
name = "rust-webx-host"
version.workspace = true
edition.workspace = true
license.workspace = true
description = "rust-webx HTTP layer: Host builder, middleware pipeline, Trie-based router, hyper integration"
repository.workspace = true
homepage.workspace = true
documentation.workspace = true
readme = "../../README.md"
keywords = ["web", "http", "server", "hyper", "middleware"]
categories = ["web-programming", "asynchronous"]
[dependencies]
rust-webx-core.workspace = true
rust-webx-spa.workspace = true
rust-webx-openapi.workspace = true
rust-dix.workspace = true
jsonwebtoken.workspace = true
async-trait.workspace = true
tokio = { workspace = true, features = ["net", "rt", "rt-multi-thread", "macros", "fs", "signal"] }
hyper.workspace = true
http-body-util.workspace = true
hyper-util = { workspace = true, features = ["tokio", "server-auto"] }
serde.workspace = true
serde_json.workspace = true
thiserror.workspace = true
inventory.workspace = true
uuid.workspace = true
tracing = { version = "0.1", features = ["log"] }
tracing-subscriber = { version = "0.3", features = ["env-filter", "json"] }
rustls.workspace = true
tokio-rustls.workspace = true
rustls-pemfile.workspace = true
matchit = "0.9.2"
compact_str = "0.9.1"
flate2 = "1.1.9"
ctrlc.workspace = true
reqwest = { version = "0.12", optional = true, default-features = true }
[features]
testing = ["dep:reqwest"]
[dev-dependencies]
reqwest = { version = "0.12", features = ["json", "gzip"] }
criterion = { version = "0.5", features = ["html_reports"] }
rust-webx-macros.workspace = true
rcgen = "0.13"
tempfile = "3"
[[bench]]
name = "router_bench"
harness = false
[[bench]]
name = "pipeline_bench"
harness = false