[package]
edition = "2024"
rust-version = "1.96"
name = "plecto-server"
version = "0.3.6"
build = false
include = [
"src/**",
"tests/**",
"CONTEXT.md",
]
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Plecto's fast path: an L7 reverse proxy / API gateway data plane (HTTP/1.1, HTTP/2, HTTP/3, TLS, routing, load balancing)."
homepage = "https://github.com/Kaikei-e/PlectoProxy"
documentation = "https://docs.rs/plecto-server"
readme = "README.md"
keywords = [
"proxy",
"gateway",
"wasm",
"webassembly",
"http",
]
categories = [
"network-programming",
"web-programming",
"wasm",
]
license = "Apache-2.0"
repository = "https://github.com/Kaikei-e/PlectoProxy"
[features]
bench-harnesses = []
capabilities = [
"outbound-http",
"outbound-tcp",
"fat-guest",
]
fat-guest = ["plecto-control/fat-guest"]
jemalloc = []
outbound-http = ["plecto-control/outbound-http"]
outbound-tcp = ["plecto-control/outbound-tcp"]
[lib]
name = "plecto_server"
path = "src/lib.rs"
[[test]]
name = "auth"
path = "tests/auth.rs"
[[test]]
name = "body"
path = "tests/body.rs"
[[test]]
name = "circuit_breaker"
path = "tests/circuit_breaker.rs"
[[test]]
name = "compression"
path = "tests/compression.rs"
[[test]]
name = "dns_resolve"
path = "tests/dns_resolve.rs"
[[test]]
name = "e2e"
path = "tests/e2e.rs"
[[test]]
name = "h2"
path = "tests/h2.rs"
[[test]]
name = "h3"
path = "tests/h3.rs"
[[test]]
name = "header_bytes"
path = "tests/header_bytes.rs"
[[test]]
name = "lb"
path = "tests/lb.rs"
[[test]]
name = "lb_adr35"
path = "tests/lb_adr35.rs"
[[test]]
name = "observability"
path = "tests/observability.rs"
[[test]]
name = "otlp"
path = "tests/otlp.rs"
[[test]]
name = "outlier"
path = "tests/outlier.rs"
[[test]]
name = "overall_timeout"
path = "tests/overall_timeout.rs"
[[test]]
name = "proxy_protocol"
path = "tests/proxy_protocol.rs"
[[test]]
name = "rate_limit"
path = "tests/rate_limit.rs"
[[test]]
name = "response_context"
path = "tests/response_context.rs"
[[test]]
name = "retry"
path = "tests/retry.rs"
[[test]]
name = "routing_adr34"
path = "tests/routing_adr34.rs"
[[test]]
name = "shutdown"
path = "tests/shutdown.rs"
[[test]]
name = "timeout"
path = "tests/timeout.rs"
[[test]]
name = "tls"
path = "tests/tls.rs"
[[test]]
name = "upgrade"
path = "tests/upgrade.rs"
[[test]]
name = "upstream_tls"
path = "tests/upstream_tls.rs"
[dependencies.anyhow]
version = "1"
[dependencies.brotli]
version = "8"
[dependencies.bytes]
version = "1"
[dependencies.flate2]
version = "1"
[dependencies.h3]
version = "0.0.8"
[dependencies.h3-quinn]
version = "0.0.10"
[dependencies.http-body-util]
version = "0.1"
[dependencies.hyper]
version = "1"
features = [
"http1",
"http2",
"server",
"client",
]
[dependencies.hyper-rustls]
version = "0.27"
features = [
"http1",
"http2",
"aws-lc-rs",
"tls12",
"logging",
]
default-features = false
[dependencies.hyper-util]
version = "0.1"
features = [
"tokio",
"client-legacy",
"http1",
]
[dependencies.libc]
version = "0.2"
[dependencies.parking_lot]
version = "0.12"
[dependencies.plecto-control]
version = "0.3.6"
[dependencies.quinn]
version = "0.11"
features = [
"runtime-tokio",
"rustls-aws-lc-rs",
"log",
]
default-features = false
[dependencies.rustls]
version = "0.23"
features = [
"aws_lc_rs",
"prefer-post-quantum",
"std",
"tls12",
"logging",
]
default-features = false
[dependencies.thiserror]
version = "2"
[dependencies.tokio]
version = "1"
features = [
"rt-multi-thread",
"net",
"macros",
"io-util",
"time",
"signal",
]
[dependencies.tokio-rustls]
version = "0.26"
features = [
"aws_lc_rs",
"tls12",
"logging",
]
default-features = false
[dependencies.tracing]
version = "0.1"
[dependencies.zstd]
version = "0.13"
default-features = false
[dev-dependencies.base64]
version = "0.22"
[dev-dependencies.brotli]
version = "8"
[dev-dependencies.flate2]
version = "1"
[dev-dependencies.hex]
version = "0.4"
[dev-dependencies.opentelemetry-proto]
version = "0.32"
features = [
"gen-tonic-messages",
"trace",
]
default-features = false
[dev-dependencies.parking_lot]
version = "0.12"
[dev-dependencies.prost]
version = "0.14"
[dev-dependencies.rcgen]
version = "0.13"
features = [
"ring",
"pem",
]
default-features = false
[dev-dependencies.sha1]
version = "0.10"
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tikv-jemallocator]
version = "0.6"
[dev-dependencies.zstd]
version = "0.13"
[lints.rust]
unsafe_op_in_unsafe_fn = "deny"
[lints.rust.rust_2018_idioms]
level = "warn"
priority = -1