Crate pingora_proxy

Source
Expand description

§pingora-proxy

Programmable HTTP proxy built on top of pingora_core.

§Features

  • HTTP/1.x and HTTP/2 for both downstream and upstream
  • Connection pooling
  • TLSv1.3, mutual TLS, customizable CA
  • Request/Response scanning, modification or rejection
  • Dynamic upstream selection
  • Configurable retry and failover
  • Fully programmable and customizable at any stage of a HTTP request

§How to use

Users of this crate defines their proxy by implementing ProxyHttp trait, which contains the callbacks to be invoked at each stage of a HTTP request.

Then the service can be passed into http_proxy_service() for a pingora_core::server::Server to run it.

See examples/load_balancer.rs for a detailed example.

Modules§

prelude

Structs§

FailToProxy
Context struct returned by fail_to_proxy.
HttpProxy
The concrete type that holds the user defined HTTP proxy.
Session
The established HTTP session

Enums§

PurgeStatus
RangeType

Traits§

ProxyHttp
The interface to control the HTTP proxy

Functions§

http_proxy_service
Create a Service from the user implemented ProxyHttp.
http_proxy_service_with_name
Create a Service from the user implemented ProxyHttp.
range_header_filter