[package]
name = "pingora"
version = "0.4.0"
authors = ["Yuchen Wu <yuchen@cloudflare.com>"]
license = "Apache-2.0"
edition = "2021"
repository = "https://github.com/cloudflare/pingora"
description = """
A framework to build fast, reliable and programmable networked systems at Internet scale.
"""
categories = ["asynchronous", "network-programming"]
keywords = ["async", "proxy", "http", "pingora"]
[lib]
name = "pingora"
path = "src/lib.rs"
[package.metadata.docs.rs]
features = ["document-features"]
rustdoc-args = ["--cfg", "docsrs"]
[dependencies]
pingora-core = { version = "0.4.0", path = "../pingora-core", default-features = false }
pingora-http = { version = "0.4.0", path = "../pingora-http" }
pingora-timeout = { version = "0.4.0", path = "../pingora-timeout" }
pingora-load-balancing = { version = "0.4.0", path = "../pingora-load-balancing", optional = true, default-features = false }
pingora-proxy = { version = "0.4.0", path = "../pingora-proxy", optional = true, default-features = false }
pingora-cache = { version = "0.4.0", path = "../pingora-cache", optional = true, default-features = false }
document-features = { version = "0.2.10", optional = true }
[dev-dependencies]
clap = { version = "3.2.25", features = ["derive"] }
tokio = { workspace = true, features = ["rt-multi-thread", "signal"] }
matches = "0.1"
env_logger = "0.9"
reqwest = { version = "0.11", features = ["rustls"], default-features = false }
hyper = "0.14"
async-trait = { workspace = true }
http = { workspace = true }
log = { workspace = true }
prometheus = "0.13"
once_cell = { workspace = true }
bytes = { workspace = true }
regex = "1"
[target.'cfg(unix)'.dev-dependencies]
hyperlocal = "0.8"
jemallocator = "0.5"
[features]
default = []
openssl = [
"pingora-core/openssl",
"pingora-proxy?/openssl",
"pingora-cache?/openssl",
"pingora-load-balancing?/openssl",
"openssl_derived",
]
boringssl = [
"pingora-core/boringssl",
"pingora-proxy?/boringssl",
"pingora-cache?/boringssl",
"pingora-load-balancing?/boringssl",
"openssl_derived",
]
rustls = [
"pingora-core/rustls",
"pingora-proxy?/rustls",
"pingora-cache?/rustls",
"pingora-load-balancing?/rustls",
"any_tls",
]
proxy = ["pingora-proxy"]
lb = ["pingora-load-balancing", "proxy"]
cache = ["pingora-cache"]
time = []
sentry = ["pingora-core/sentry"]
openssl_derived = ["any_tls"]
any_tls = []
patched_http1 = ["pingora-core/patched_http1"]
document-features = ["dep:document-features", "proxy", "lb", "cache", "time", "sentry"]