[package]
edition = "2024"
rust-version = "1.96"
name = "plecto"
version = "0.3.6"
build = false
include = [
"src/**",
"tests/**",
"templates/**",
"CONTEXT.md",
]
publish = true
autolib = false
autobins = false
autoexamples = false
autotests = false
autobenches = false
description = "Plecto Proxy — a self-hostable L7 reverse proxy / API gateway extended with sandboxed WASM Component Model filters. This crate is the `plecto` binary and operator CLI."
homepage = "https://github.com/Kaikei-e/PlectoProxy"
documentation = "https://docs.rs/plecto"
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]
capabilities = [
"outbound-http",
"outbound-tcp",
"fat-guest",
]
fat-guest = ["plecto-server/fat-guest"]
outbound-http = ["plecto-server/outbound-http"]
outbound-tcp = ["plecto-server/outbound-tcp"]
[[bin]]
name = "plecto"
path = "src/main.rs"
[[test]]
name = "binary_signals"
path = "tests/binary_signals.rs"
[[test]]
name = "cli"
path = "tests/cli.rs"
[[test]]
name = "listen"
path = "tests/listen.rs"
[dependencies.anyhow]
version = "1"
[dependencies.libc]
version = "0.2"
[dependencies.notify-debouncer-mini]
version = "0.7"
[dependencies.plecto-control]
version = "0.3.6"
[dependencies.plecto-server]
version = "0.3.6"
[dependencies.serde_json]
version = "1"
[dependencies.tokio]
version = "1"
features = [
"rt-multi-thread",
"net",
"macros",
"io-util",
"time",
"signal",
]
[dependencies.toml_edit]
version = "0.22"
[dependencies.tracing]
version = "0.1"
[dependencies.tracing-subscriber]
version = "0.3"
features = [
"fmt",
"json",
"std",
]
default-features = false
[dependencies.wit-component]
version = "0.252"
[dev-dependencies.bytes]
version = "1"
[dev-dependencies.http-body-util]
version = "0.1"
[dev-dependencies.hyper]
version = "1"
features = [
"http1",
"http2",
"server",
"client",
]
[dev-dependencies.hyper-util]
version = "0.1"
features = [
"tokio",
"client-legacy",
"http1",
]
[dev-dependencies.rcgen]
version = "0.13"
features = [
"ring",
"pem",
]
default-features = false
[dev-dependencies.tempfile]
version = "3"
[dev-dependencies.tokio-rustls]
version = "0.26"
features = [
"aws_lc_rs",
"tls12",
"logging",
]
default-features = false
[lints.rust]
unsafe_op_in_unsafe_fn = "deny"
[lints.rust.rust_2018_idioms]
level = "warn"
priority = -1