pub mod config;
pub mod middleware;
pub use config::*;
pub use middleware::cors::{CorsMiddleware, CorsConfig};
pub use middleware::csrf::{CsrfMiddleware, CsrfConfig};
pub type SecurityResult<T> = Result<T, SecurityError>;
#[derive(thiserror::Error, Debug)]
pub enum SecurityError {
#[error("CORS violation: {message}")]
CorsViolation { message: String },
#[error("CSRF token validation failed")]
CsrfValidationFailed,
#[error("Rate limit exceeded: {limit} requests per {window_seconds} seconds")]
RateLimitExceeded { limit: u32, window_seconds: u32 },
#[error("Configuration error: {message}")]
ConfigError { message: String },
#[error("Security policy violation: {message}")]
PolicyViolation { message: String },
}