pub mod config;
pub mod core;
pub mod filters;
pub mod loader;
pub mod logging;
pub mod opentelemetry;
pub mod router;
pub mod security;
pub mod server;
pub use crate::opentelemetry::init;
pub use config::{ConfigError, ConfigProvider, ConfigProviderExt};
pub use core::{
Filter, FilterType, HttpMethod, ProxyError, ProxyRequest, ProxyResponse, RequestContext,
ResponseContext, Route, Router,
};
pub use filters::{
FilterFactory, HeaderFilter, LoggingFilter, PathRewriteFilter, PathRewriteFilterConfig,
TimeoutFilter, register_filter,
};
pub use loader::{Foxy, FoxyLoader, LoaderError};
pub use logging::{init_with_config, wrapper};
pub use router::{
HeaderPredicate, MethodPredicate, PathPredicate, Predicate, PredicateFactory, PredicateRouter,
QueryPredicate, register_predicate,
};
pub use security::{
SecurityChain, SecurityProvider, SecurityStage,
oidc::{OidcConfig, OidcProvider},
register_security_provider,
};
pub use server::{ProxyServer, ServerConfig};
#[cfg(feature = "swagger-ui")]
pub use server::swagger::{SwaggerSource, SwaggerUIConfig};