[package]
name = "logprox"
version = "0.2.0"
edition = "2021"
authors = ["Bryan Lott <bryan@bryanlott.dev>"]
description = "A blazing-fast HTTP proxy with conditional logging and request control"
license = "GPL-3.0"
homepage = "https://github.com/bryan-lott/logprox"
repository = "https://github.com/bryan-lott/logprox"
documentation = "https://docs.rs/logprox"
readme = "README.md"
keywords = ["proxy", "http", "logging", "monitoring", "api-gateway"]
categories = ["web-programming::http-server", "network-programming"]
exclude = ["config.yaml", ".github/", "benches/", "tests/"]
[package.metadata.docs.rs]
all-features = true
rustdoc-args = ["--cfg", "docsrs"]
[lib]
name = "logprox"
path = "src/lib.rs"
[dependencies]
tokio = { version = "1.36", features = ["full"] }
axum = { version = "0.7", features = ["macros"] }
reqwest = { version = "0.11", features = ["json", "stream"] }
tower = "0.5"
http-body-util = "0.1"
tracing = "0.1"
tracing-subscriber = { version = "0.3", features = ["json"] }
once_cell = "1.19"
parking_lot = "0.12"
bytes = "1.5"
smallvec = "1.11"
arc-swap = "1.1"
lru = "0.12"
object-pool = "0.6"
futures-core = "0.3"
tokio-stream = "0.1"
serde = { version = "1.0", features = ["derive"] }
serde_yaml = "0.9"
regex = "1.5"
serde_json = "1.0"
chrono = { version = "0.4", features = ["serde"] }
tempfile = "3.17"
[dev-dependencies]
criterion = { version = "0.5", features = ["html_reports"] }
tokio-test = "0.4"
urlencoding = "2.1"
pprof = { version = "0.12", features = ["flamegraph", "criterion"] }
iai = "0.1"
[[bench]]
name = "proxy_latency"
harness = false
[[bench]]
name = "performance_microbenchmarks"
harness = false
[[bench]]
name = "comprehensive_performance"
harness = false