elif_security/
lib.rs

1//! # elif-security
2//!
3//! Security middleware and utilities for the elif.rs web framework.
4//! Provides CORS, CSRF protection, rate limiting, and other security features.
5
6pub mod config;
7pub mod middleware;
8
9// Re-export main types
10pub use config::*;
11pub use middleware::cors::{CorsMiddleware, CorsConfig};
12pub use middleware::csrf::{CsrfMiddleware, CsrfConfig};
13
14/// Common result type for security operations
15pub type SecurityResult<T> = Result<T, SecurityError>;
16
17/// Security-related errors
18#[derive(thiserror::Error, Debug)]
19pub enum SecurityError {
20    #[error("CORS violation: {message}")]
21    CorsViolation { message: String },
22    
23    #[error("CSRF token validation failed")]
24    CsrfValidationFailed,
25    
26    #[error("Rate limit exceeded: {limit} requests per {window_seconds} seconds")]
27    RateLimitExceeded { limit: u32, window_seconds: u32 },
28    
29    #[error("Configuration error: {message}")]
30    ConfigError { message: String },
31    
32    #[error("Security policy violation: {message}")]
33    PolicyViolation { message: String },
34}