<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Filters on Praxis</title><link>https://praxis.fast/praxis/v0.7.2/filters/</link><description>Recent content in Filters on Praxis</description><generator>Hugo</generator><language>en</language><atom:link href="https://praxis.fast/praxis/v0.7.2/filters/index.xml" rel="self" type="application/rss+xml"/><item><title>access_log</title><link>https://praxis.fast/praxis/v0.7.2/filters/http/observability/access_log/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/praxis/v0.7.2/filters/http/observability/access_log/</guid><description>Logs structured access records for each request and response.</description></item><item><title>basic_auth</title><link>https://praxis.fast/praxis/v0.7.2/filters/http/security/basic_auth/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/praxis/v0.7.2/filters/http/security/basic_auth/</guid><description>HTTP Basic Authentication filter (RFC 7617).</description></item><item><title>Branch Chains</title><link>https://praxis.fast/praxis/v0.7.2/filters/branch-chains/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/praxis/v0.7.2/filters/branch-chains/</guid><description>Branch chains add conditional paths to your filter pipeline. A filter produces a result, and a branch condition reads it to decide whether to divert, short-circuit, skip ahead, or loop back.</description></item><item><title>circuit_breaker</title><link>https://praxis.fast/praxis/v0.7.2/filters/http/traffic_management/circuit_breaker/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/praxis/v0.7.2/filters/http/traffic_management/circuit_breaker/</guid><description>Rejects requests to clusters whose circuit is open.</description></item><item><title>cloud_events</title><link>https://praxis.fast/praxis/v0.7.2/filters/http/observability/cloud_events/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/praxis/v0.7.2/filters/http/observability/cloud_events/</guid><description>Generate structured CloudEvents and ship them to a configured HTTP endpoint.</description></item><item><title>compression</title><link>https://praxis.fast/praxis/v0.7.2/filters/http/payload_processing/compression/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/praxis/v0.7.2/filters/http/payload_processing/compression/</guid><description>Enables Pingora&amp;rsquo;s built-in response compression when present in a filter chain.</description></item><item><title>cors</title><link>https://praxis.fast/praxis/v0.7.2/filters/http/security/cors/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/praxis/v0.7.2/filters/http/security/cors/</guid><description>Spec-compliant CORS filter implementing origin validation, preflight handling, and response header injection.</description></item><item><title>credential_injection</title><link>https://praxis.fast/praxis/v0.7.2/filters/http/security/credential_injection/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/praxis/v0.7.2/filters/http/security/credential_injection/</guid><description>Injects per-cluster API credentials into upstream requests.</description></item><item><title>csrf</title><link>https://praxis.fast/praxis/v0.7.2/filters/http/security/csrf/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/praxis/v0.7.2/filters/http/security/csrf/</guid><description>CSRF protection filter that validates request origins against a trusted allowlist.</description></item><item><title>endpoint_selector</title><link>https://praxis.fast/praxis/v0.7.2/filters/http/traffic_management/endpoint_selector/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/praxis/v0.7.2/filters/http/traffic_management/endpoint_selector/</guid><description>Selects an upstream endpoint from a trusted mutation source.</description></item><item><title>Extensions</title><link>https://praxis.fast/praxis/v0.7.2/filters/extensions/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/praxis/v0.7.2/filters/extensions/</guid><description>Praxis is designed to be extended. The core library provides the building blocks for building bespoke proxy servers. Multiple extension mechanisms are provided to support a variety of needs.</description></item><item><title>Filter Reference</title><link>https://praxis.fast/praxis/v0.7.2/filters/reference/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/praxis/v0.7.2/filters/reference/</guid><description>Built-in filters organized by protocol and category.</description></item><item><title>forwarded_headers</title><link>https://praxis.fast/praxis/v0.7.2/filters/http/security/forwarded_headers/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/praxis/v0.7.2/filters/http/security/forwarded_headers/</guid><description>Injects X-Forwarded-For, X-Forwarded-Proto, and X-Forwarded-Host headers into upstream requests.</description></item><item><title>grpc_detection</title><link>https://praxis.fast/praxis/v0.7.2/filters/http/traffic_management/grpc_detection/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/praxis/v0.7.2/filters/http/traffic_management/grpc_detection/</guid><description>Detects the gRPC variant from the request content-type header and records it for branch-chain routing and observability.</description></item><item><title>grpc_status</title><link>https://praxis.fast/praxis/v0.7.2/filters/http/transformation/grpc_status/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/praxis/v0.7.2/filters/http/transformation/grpc_status/</guid><description>Answers proxy-generated errors in the shape gRPC clients expect.</description></item><item><title>grpc_timeout</title><link>https://praxis.fast/praxis/v0.7.2/filters/http/traffic_management/grpc_timeout/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/praxis/v0.7.2/filters/http/traffic_management/grpc_timeout/</guid><description>Honours the grpc-timeout request header as a real deadline.</description></item><item><title>grpc_web</title><link>https://praxis.fast/praxis/v0.7.2/filters/http/payload_processing/grpc_web/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/praxis/v0.7.2/filters/http/payload_processing/grpc_web/</guid><description>Translates gRPC-Web calls to native gRPC and back.</description></item><item><title>guardrails</title><link>https://praxis.fast/praxis/v0.7.2/filters/http/security/guardrails/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/praxis/v0.7.2/filters/http/security/guardrails/</guid><description>Rejects requests matching string, regex, or PII rules against headers and/or body content.</description></item><item><title>headers</title><link>https://praxis.fast/praxis/v0.7.2/filters/http/transformation/headers/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/praxis/v0.7.2/filters/http/transformation/headers/</guid><description>Adds, sets, or removes headers on upstream requests and downstream responses.</description></item><item><title>HTTP Filter Tutorial</title><link>https://praxis.fast/praxis/v0.7.2/filters/http-filter-tutorial/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/praxis/v0.7.2/filters/http-filter-tutorial/</guid><description>This tutorial builds a small HTTP filter from scratch. The filter requires requests to contain a configured header and returns 401 Unauthorized when the header is missing.</description></item><item><title>ip_acl</title><link>https://praxis.fast/praxis/v0.7.2/filters/http/security/ip_acl/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/praxis/v0.7.2/filters/http/security/ip_acl/</guid><description>IP-based access control filter.</description></item><item><title>iterative_request_router</title><link>https://praxis.fast/praxis/v0.7.2/filters/http/traffic_management/iterative_request_router/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/praxis/v0.7.2/filters/http/traffic_management/iterative_request_router/</guid><description>Framework-level filter for iterative sub-request execution.</description></item><item><title>json_body</title><link>https://praxis.fast/praxis/v0.7.2/filters/http/payload_processing/json_body/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/praxis/v0.7.2/filters/http/payload_processing/json_body/</guid><description>Rewrites JSON request bodies with JSON Pointer add, remove, replace, and extract, and response bodies with remove and extract.</description></item><item><title>json_body_field</title><link>https://praxis.fast/praxis/v0.7.2/filters/http/payload_processing/json_body_field/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/praxis/v0.7.2/filters/http/payload_processing/json_body_field/</guid><description>Extracts top-level fields from a JSON request body and promotes their values to request headers using [StreamBuffer] mode.</description></item><item><title>json_rpc</title><link>https://praxis.fast/praxis/v0.7.2/filters/http/payload_processing/json_rpc/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/praxis/v0.7.2/filters/http/payload_processing/json_rpc/</guid><description>Extracts JSON-RPC 2.0 envelope metadata from request bodies and promotes method, id, and kind to request headers and filter results for routing.</description></item><item><title>load_balancer</title><link>https://praxis.fast/praxis/v0.7.2/filters/http/traffic_management/load_balancer/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/praxis/v0.7.2/filters/http/traffic_management/load_balancer/</guid><description>Selects an upstream endpoint using the cluster&amp;rsquo;s configured strategy.</description></item><item><title>path_rewrite</title><link>https://praxis.fast/praxis/v0.7.2/filters/http/transformation/path_rewrite/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/praxis/v0.7.2/filters/http/transformation/path_rewrite/</guid><description>Rewrites the request path before forwarding to the upstream.</description></item><item><title>peer_identity_trust</title><link>https://praxis.fast/praxis/v0.7.2/filters/http/security/peer_identity_trust/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/praxis/v0.7.2/filters/http/security/peer_identity_trust/</guid><description>Validates that the downstream mTLS peer identity matches a configured trusted peer before allowing the request to continue.</description></item><item><title>policy</title><link>https://praxis.fast/praxis/v0.7.2/filters/http/security/policy/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/praxis/v0.7.2/filters/http/security/policy/</guid><description>Embeds the Policy Engine to enforce identity checks and APL rules, exchange tokens, redact fields, track session taint, and emit audit events.</description></item><item><title>rate_limit</title><link>https://praxis.fast/praxis/v0.7.2/filters/http/traffic_management/rate_limit/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/praxis/v0.7.2/filters/http/traffic_management/rate_limit/</guid><description>Token bucket rate limiter that rejects excess traffic with 429.</description></item><item><title>redirect</title><link>https://praxis.fast/praxis/v0.7.2/filters/http/traffic_management/redirect/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/praxis/v0.7.2/filters/http/traffic_management/redirect/</guid><description>Returns a redirect response without contacting any upstream.</description></item><item><title>request_id</title><link>https://praxis.fast/praxis/v0.7.2/filters/http/observability/request_id/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/praxis/v0.7.2/filters/http/observability/request_id/</guid><description>Ensures every request carries a correlation ID.</description></item><item><title>router</title><link>https://praxis.fast/praxis/v0.7.2/filters/http/traffic_management/router/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/praxis/v0.7.2/filters/http/traffic_management/router/</guid><description>Routes requests to clusters based on path prefix and host header.</description></item><item><title>sni_router</title><link>https://praxis.fast/praxis/v0.7.2/filters/tcp/traffic_management/sni_router/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/praxis/v0.7.2/filters/tcp/traffic_management/sni_router/</guid><description>Routes TCP connections by SNI hostname.</description></item><item><title>static_response</title><link>https://praxis.fast/praxis/v0.7.2/filters/http/traffic_management/static_response/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/praxis/v0.7.2/filters/http/traffic_management/static_response/</guid><description>Returns a fixed response without contacting any upstream.</description></item><item><title>sticky_sessions</title><link>https://praxis.fast/praxis/v0.7.2/filters/http/traffic_management/sticky_sessions/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/praxis/v0.7.2/filters/http/traffic_management/sticky_sessions/</guid><description>Sticky sessions HTTP filter.</description></item><item><title>tcp_access_log</title><link>https://praxis.fast/praxis/v0.7.2/filters/tcp/observability/tcp_access_log/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/praxis/v0.7.2/filters/tcp/observability/tcp_access_log/</guid><description>Logs TCP connection events.</description></item><item><title>tcp_load_balancer</title><link>https://praxis.fast/praxis/v0.7.2/filters/tcp/traffic_management/tcp_load_balancer/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/praxis/v0.7.2/filters/tcp/traffic_management/tcp_load_balancer/</guid><description>Selects an upstream TCP endpoint using the cluster&amp;rsquo;s configured strategy.</description></item><item><title>timeout</title><link>https://praxis.fast/praxis/v0.7.2/filters/http/traffic_management/timeout/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/praxis/v0.7.2/filters/http/traffic_management/timeout/</guid><description>Enforces a maximum end-to-end latency from request receipt to response headers.</description></item><item><title>trace_context</title><link>https://praxis.fast/praxis/v0.7.2/filters/http/observability/trace_context/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/praxis/v0.7.2/filters/http/observability/trace_context/</guid><description>Propagates W3C Trace Context and x-request-id correlation.</description></item><item><title>url_rewrite</title><link>https://praxis.fast/praxis/v0.7.2/filters/http/transformation/url_rewrite/</link><pubDate>Mon, 01 Jan 0001 00:00:00 +0000</pubDate><guid>https://praxis.fast/praxis/v0.7.2/filters/http/transformation/url_rewrite/</guid><description>Rewrites request URLs using regex substitution and query parameter manipulation before the request reaches upstream.</description></item></channel></rss>