[package]
edition = "2021"
rust-version = "1.99"
name = "rws-proxy"
version = "18.27.2"
authors = ["Bohdan Tsap <bohdan.tsap@tutanota.com>"]
build = false
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "The proxy and operations layer of rust-web-server: reverse proxy, config-driven routes, load balancing, L4 and WebSocket proxies, the admin API, cluster sync, fleet pull, WAF, LLM and A2A gateways, FastCGI, traffic insights. (internal: use the rust-web-server crate)."
homepage = "https://rws8.tech/"
readme = false
license = "MIT"
repository = "https://github.com/bohdaq/rust-web-server"
[features]
acme = [
"http2",
"dep:rcgen",
"dep:webpki-roots",
"dep:aws-lc-rs",
"rws-server/acme",
"dep:rws-acme",
"rws-acme/acme",
]
auth = ["rws-server/auth"]
brotli = []
default = []
fips = ["rws-server/fips"]
gateway-api = [
"http2",
"serde",
"rws-server/gateway-api",
]
http-client = [
"dep:rustls",
"dep:webpki-roots",
"rws-server/http-client",
"rws-storage?/http-client",
]
http1 = ["rws-server/http1"]
http2 = [
"dep:rcgen",
"dep:aws-lc-rs",
"dep:h2",
"dep:rustls",
"dep:tokio-rustls",
"dep:tokio",
"dep:bytes",
"dep:http",
"dep:webpki-roots",
"rws-server/http2",
"rws-acme?/http2",
]
http3 = [
"http2",
"dep:quinn",
"dep:h3",
"dep:h3-quinn",
"rws-server/http3",
]
macros = []
mimalloc = []
model-mysql = [
"http2",
"rws-server/model-mysql",
]
model-postgres = [
"http2",
"rws-server/model-postgres",
]
model-sqlite = [
"http2",
"rws-server/model-sqlite",
]
openapi = ["rws-server/openapi"]
serde = ["rws-server/serde"]
sso = [
"dep:rand_core",
"http-client",
"rws-server/sso",
]
sso-saml = [
"sso",
"rws-server/sso-saml",
]
sso-server = [
"sso",
"auth",
"rws-server/sso-server",
]
storage-s3 = [
"http-client",
"rws-server/storage-s3",
"dep:rws-storage",
"rws-storage/storage-s3",
]
test-support = []
tower = []
wasm-plugins = [
"dep:rws-wasm-plugin",
"rws-wasm-plugin/wasm-plugins",
]
zstd = []
[lib]
name = "rws_proxy"
path = "src/lib.rs"
[dependencies.bytes]
version = "1"
optional = true
[dependencies.h2]
version = "0.4"
optional = true
[dependencies.h3]
version = "0.0.8"
optional = true
[dependencies.h3-quinn]
version = "0.0.10"
optional = true
[dependencies.http]
version = "1"
optional = true
[dependencies.quinn]
version = "0.11"
features = [
"runtime-tokio",
"rustls-aws-lc-rs",
"bloom",
]
optional = true
default-features = false
[dependencies.rand_core]
version = "0.6"
features = ["getrandom"]
optional = true
[dependencies.rcgen]
version = "0.14"
features = [
"pem",
"aws_lc_rs",
]
optional = true
default-features = false
[dependencies.rws-acme]
version = "=18.27.2"
optional = true
[dependencies.rws-server]
version = "=18.27.2"
[dependencies.rws-storage]
version = "=18.27.2"
optional = true
[dependencies.rws-wasm-plugin]
version = "=18.27.2"
optional = true
[dependencies.tokio]
version = "1"
features = [
"net",
"rt-multi-thread",
"macros",
"io-util",
"signal",
"time",
]
optional = true
[dependencies.tokio-rustls]
version = "0.26"
optional = true
[dev-dependencies.rws-server]
version = "=18.27.2"
features = ["test-support"]
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.aws-lc-rs]
version = "1"
optional = true
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.rustls]
version = "0.23.46"
features = [
"aws-lc-rs",
"tls12",
"logging",
"std",
"prefer-post-quantum",
]
optional = true
default-features = false
[target.'cfg(not(target_arch = "wasm32"))'.dependencies.webpki-roots]
version = "1.0.11"
optional = true
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.bytes]
version = "1"
[target.'cfg(not(target_arch = "wasm32"))'.dev-dependencies.rcgen]
version = "0.14"
features = [
"pem",
"aws_lc_rs",
]
default-features = false
[lints.rust.unexpected_cfgs]
level = "deny"
priority = 0
check-cfg = ["cfg(fuzzing)"]