praxis-proxy-filter 0.7.2

Filter pipeline engine and built-in filters for Praxis
// SPDX-License-Identifier: Apache-2.0
// Copyright (c) 2024 Praxis Contributors

//! HTTP protocol filters, organized by category.

pub(crate) mod compile_user_regex;
mod observability;
pub mod payload_processing;
mod security;
mod traffic_management;
mod transformation;
pub mod value_safety;

#[cfg(feature = "cloud-events-filter")]
pub use observability::CloudEventsFilter;
pub use observability::{
    AccessLogFilter, RequestIdFilter, TraceContextFilter, access_record_already_emitted, bodyless_response,
    emit_access_record, mark_access_record_emitted,
};
pub use payload_processing::{
    CompressionFilter, GrpcWebFilter, JsonBodyFieldFilter, JsonBodyFilter, JsonBodyOps, JsonRpcFilter,
    encode_trailer_frame,
};
#[cfg(feature = "basic-auth-filter")]
pub use security::BasicAuthFilter;
#[cfg(feature = "spiffe")]
pub use security::PeerIdentityTrustFilter;
pub use security::{
    ContainsValue, CorsFilter, CredentialInjectionFilter, CsrfFilter, DisallowedOriginMode, ForwardedHeadersFilter,
    GuardrailsAction, GuardrailsFilter, IpAclFilter, PiiKind, RuleTargetKind,
};
#[cfg(feature = "policy-engine")]
pub use security::{PolicyFilter, PolicyPluginFactoryFn, register_policy_plugin_factory};
#[cfg(feature = "iterative-request-router")]
pub use traffic_management::IterativeRequestRouterFilter;
pub use traffic_management::{
    CircuitBreakerFilter, EndpointReselector, EndpointSelectorFilter, GrpcDetectionFilter, GrpcTimeoutFilter,
    LoadBalancerFilter, RateLimitFilter, RateLimitMode, RedirectFilter, RedirectStatus, RouterFilter,
    StaticResponseFilter, StickySessionsFilter, TimeoutFilter,
    sticky_sessions::{SessionStore, SessionStoreRegistry},
};
pub use transformation::{
    GrpcStatusFilter, HeaderFilter, PathRewriteFilter, UrlRewriteFilter, has_dot_dot_traversal,
    normalize_rewritten_path,
};