Expand description
Protocol adapters for Praxis.
praxis-protocol sits below server and above filter in the
crate dependency flow server -> protocol -> filter -> core -> tls.
It binds the praxis_filter pipeline engine to Pingora’s HTTP and
TCP proxy services, so that inbound connections are served, filters
run at the right lifecycle points, and requests are forwarded to
upstream clusters.
Responsibilities:
- HTTP protocol implementations and Pingora adapters (
http). - Raw TCP/L4 forwarding (
tcp). - Active health-check probes and admin/observability endpoints.
- TLS listener setup (the
tls_setupmodule), plus holding the certificate hot-reload watcher shutdown handles so those watchers can be stopped early (CertWatcherShutdowns).
Boundary with Pingora: Pingora owns request-smuggling prevention,
HTTP/2 backpressure, connection-pool safety, and HTTP/1.1 upgrade
detection with bidirectional forwarding (WebSocket and similar).
Praxis code in this crate and in praxis_filter owns hop-by-hop
header stripping (with conditional preservation for upgrade
requests), Host validation, X-Forwarded-* injection, and retry
logic.
Modules§
- connections
- Process-wide connection limit. Process-wide connection limit.
- http
- HTTP protocol implementations. HTTP protocol implementation.
- tcp
- Raw TCP/L4 forwarding protocol. Raw TCP/L4 bidirectional forwarding protocol.
Structs§
- Cert
Watcher Shutdowns - Collected TLS certificate watcher shutdown senders.
- Listener
Pipelines - Maps listener names to their resolved
FilterPipelines.
Traits§
- Protocol
- A protocol implementation that registers services onto a shared server runtime.