[package]
edition = "2021"
rust-version = "1.84"
name = "pingora-proxy"
version = "0.7.0"
authors = ["Yuchen Wu <yuchen@cloudflare.com>"]
build = false
exclude = ["tests/*"]
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = """
Pingora HTTP proxy APIs and traits.
"""
readme = false
keywords = [
"async",
"http",
"proxy",
"pingora",
]
categories = [
"asynchronous",
"network-programming",
]
license = "Apache-2.0"
repository = "https://github.com/cloudflare/pingora"
[package.metadata.docs.rs]
rustdoc-args = [
"--cfg",
"doc_async_trait",
]
[features]
any_tls = []
boringssl = [
"pingora-core/boringssl",
"pingora-cache/boringssl",
"openssl_derived",
]
connection_filter = ["pingora-core/connection_filter"]
default = []
openssl = [
"pingora-core/openssl",
"pingora-cache/openssl",
"openssl_derived",
]
openssl_derived = ["any_tls"]
rustls = [
"pingora-core/rustls",
"pingora-cache/rustls",
"any_tls",
]
s2n = [
"pingora-core/s2n",
"pingora-cache/s2n",
"any_tls",
]
sentry = ["pingora-core/sentry"]
[lib]
name = "pingora_proxy"
path = "src/lib.rs"
[[example]]
name = "backoff_retry"
path = "examples/backoff_retry.rs"
[[example]]
name = "connection_filter"
path = "examples/connection_filter.rs"
required-features = ["connection_filter"]
[[example]]
name = "ctx"
path = "examples/ctx.rs"
[[example]]
name = "gateway"
path = "examples/gateway.rs"
[[example]]
name = "grpc_web_module"
path = "examples/grpc_web_module.rs"
[[example]]
name = "load_balancer"
path = "examples/load_balancer.rs"
[[example]]
name = "modify_response"
path = "examples/modify_response.rs"
[[example]]
name = "multi_lb"
path = "examples/multi_lb.rs"
[[example]]
name = "rate_limiter"
path = "examples/rate_limiter.rs"
[[example]]
name = "use_module"
path = "examples/use_module.rs"
[[example]]
name = "virtual_l4"
path = "examples/virtual_l4.rs"
[dependencies.async-trait]
version = "0.1.42"
[dependencies.bytes]
version = "1.0"
[dependencies.clap]
version = "4"
features = ["derive"]
[dependencies.futures]
version = "0.3"
[dependencies.h2]
version = ">=0.4.11"
[dependencies.http]
version = "1"
[dependencies.log]
version = "0.4"
[dependencies.once_cell]
version = "1"
[dependencies.pingora-cache]
version = "0.7.0"
default-features = false
[dependencies.pingora-core]
version = "0.7.0"
default-features = false
[dependencies.pingora-error]
version = "0.7.0"
[dependencies.pingora-http]
version = "0.7.0"
[dependencies.rand]
version = "0.8"
[dependencies.regex]
version = "1"
[dependencies.tokio]
version = "1"
features = [
"macros",
"net",
]
[dev-dependencies.env_logger]
version = "0.11"
[dev-dependencies.futures-util]
version = "0.3"
[dev-dependencies.hyper]
version = "0.14"
[dev-dependencies.pingora-limits]
version = "0.7.0"
[dev-dependencies.pingora-load-balancing]
version = "0.7.0"
default-features = false
[dev-dependencies.prometheus]
version = "0"
[dev-dependencies.reqwest]
version = "0.11"
features = [
"gzip",
"rustls-tls",
]
default-features = false
[dev-dependencies.serde]
version = "1.0"
features = ["derive"]
[dev-dependencies.serde_json]
version = "1.0"
[dev-dependencies.serde_yaml]
version = "0.9"
[dev-dependencies.tokio-test]
version = "0.4"
[dev-dependencies.tokio-tungstenite]
version = "0.20.1"
[target."cfg(unix)".dev-dependencies.hyperlocal]
version = "0.8"
[lints.rust.unexpected_cfgs]
level = "warn"
priority = 0
check-cfg = ["cfg(doc_async_trait)"]