Skip to main content

Crate praxis_protocol

Crate praxis_protocol 

Source
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_setup module), 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§

CertWatcherShutdowns
Collected TLS certificate watcher shutdown senders.
ListenerPipelines
Maps listener names to their resolved FilterPipelines.

Traits§

Protocol
A protocol implementation that registers services onto a shared server runtime.