plecto-server 0.3.6

Plecto's fast path: an L7 reverse proxy / API gateway data plane (HTTP/1.1, HTTP/2, HTTP/3, TLS, routing, load balancing).
Documentation
# THIS FILE IS AUTOMATICALLY GENERATED BY CARGO
#
# When uploading crates to the registry Cargo will automatically
# "normalize" Cargo.toml files for maximal compatibility
# with all versions of Cargo and also rewrite `path` dependencies
# to registry (e.g., crates.io) dependencies.
#
# If you are reading this file be aware that the original Cargo.toml
# will likely look very different (and much more reasonable).
# See Cargo.toml.orig for the original contents.

[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