aboutsummaryrefslogtreecommitdiffhomepage
path: root/pingora-proxy/Cargo.toml
blob: 4784dea2e3bd4387ba5eb116682531bcab6701f2 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
[package]
name = "pingora-proxy"
version = "0.4.0"
authors = ["Yuchen Wu <yuchen@cloudflare.com>"]
license = "Apache-2.0"
edition = "2021"
repository = "https://github.com/cloudflare/pingora"
categories = ["asynchronous", "network-programming"]
keywords = ["async", "http", "proxy", "pingora"]
exclude = ["tests/*"]
description = """
Pingora HTTP proxy APIs and traits.
"""

# See more keys and their definitions at https://doc.rust-lang.org/cargo/reference/manifest.html
[lib]
name = "pingora_proxy"
path = "src/lib.rs"

[dependencies]
pingora-error = { version = "0.4.0", path = "../pingora-error" }
pingora-core = { version = "0.4.0", path = "../pingora-core", default-features = false }
pingora-timeout = { version = "0.4.0", path = "../pingora-timeout" }
pingora-cache = { version = "0.4.0", path = "../pingora-cache", default-features = false }
tokio = { workspace = true, features = ["macros", "net"] }
pingora-http = { version = "0.4.0", path = "../pingora-http" }
http = { workspace = true }
futures = "0.3"
bytes = { workspace = true }
async-trait = { workspace = true }
log = { workspace = true }
h2 = { workspace = true }
once_cell = { workspace = true }
clap = { version = "3.2.25", features = ["derive"] }
regex = "1"

[dev-dependencies]
reqwest = { version = "0.11", features = [
    "gzip",
    "rustls-tls",
], default-features = false }
tokio-test = "0.4"
env_logger = "0.9"
hyper = "0.14"
tokio-tungstenite = "0.20.1"
pingora-limits = { version = "0.4.0", path = "../pingora-limits" }
pingora-load-balancing = { version = "0.4.0", path = "../pingora-load-balancing", default-features=false }
prometheus = "0"
futures-util = "0.3"
serde = { version = "1.0", features = ["derive"] }
serde_json = "1.0"
serde_yaml = "0.8"

[target.'cfg(unix)'.dev-dependencies]
hyperlocal = "0.8"

[features]
default = []
openssl = ["pingora-core/openssl", "pingora-cache/openssl", "openssl_derived"]
boringssl = ["pingora-core/boringssl", "pingora-cache/boringssl", "openssl_derived"]
rustls = ["pingora-core/rustls", "pingora-cache/rustls", "any_tls"]
openssl_derived = ["any_tls"]
any_tls = []
sentry = ["pingora-core/sentry"]

# or locally cargo doc --config "build.rustdocflags='--cfg doc_async_trait'"
[package.metadata.docs.rs]
rustdoc-args = ["--cfg", "doc_async_trait"]

[lints.rust]
unexpected_cfgs = { level = "warn", check-cfg = ['cfg(doc_async_trait)'] }