[package]
name = "foundation_proxy"
version = "0.1.2"
edition.workspace = true
rust-version.workspace = true
license.workspace = true
authors.workspace = true
repository.workspace = true
description = "Reverse proxy — SSL termination, zero-downtime deploys, health-check routing"
[dependencies]
foundation_errstacks = { path = "../foundation_errstacks", version = "0.0.3" }
foundation_core = { path = "../foundation_core", version = "0.0.6", features = ["multi"] }
foundation_http = { path = "../foundation_http", version = "0.0.3", features = ["multi", "ssl"] }
foundation_netio = { path = "../foundation_netio", version = "0.0.4", features = ["ssl", "multi"] }
foundation_iogate = { path = "../foundation_iogate", version = "0.0.3" }
foundation_nativeapis = { path = "../foundation_nativeapis", version = "0.0.3", features = ["fd"] }
foundation_db = { path = "../foundation_db", version = "0.0.4" }
foundation_macros = { path = "../foundation_macros", version = "0.0.6" }
foundation_deployment_cloudflare = { path = "../foundation_deployment_cloudflare", version = "0.1.3", optional = true }
foundation_connectrpc = { path = "../foundation_connectrpc", version = "0.0.3", default-features = false }
serde.workspace = true
serde_json.workspace = true
toml.workspace = true
sha2 = "0.10"
base64 = "0.22"
bytes = "1"
derive_more.workspace = true
tracing.workspace = true
chrono.workspace = true
p256 = { version = "0.13", features = ["ecdsa", "pem"] }
rand_core = { version = "0.6", features = ["getrandom"] }
rcgen = { version = "0.13", default-features = false, features = ["ring", "pem", "x509-parser"] }
futures-lite = "2"
futures-util = "0.3"
[dev-dependencies]
foundation_deployment_platform = { path = "../foundation_deployment_platform" }
tokio = { version = "1", features = ["rt-multi-thread", "macros", "time", "net"] }
rustls-pki-types = "1"
tracing-test = { version = "0.2", features = ["no-env-filter"] }
serial_test = "3"
[features]
default = []
cloudflare = ["foundation_deployment_cloudflare"]
docker-tests = []
quic = ["foundation_http/quic", "foundation_netio/quic"]
[[test]]
name = "proxy_integration_tests"
path = "tests/proxy_integration_tests.rs"
required-features = ["docker-tests"]
[lints]
workspace = true
[[test]]
name = "h3_integration_tests"
path = "tests/h3_integration_tests.rs"
required-features = ["quic"]