pub struct RateLimitingConfig {
pub enable_rate_limiting: bool,
pub global_rps_limit: Option<u32>,
pub per_ip_rps_limit: Option<u32>,
pub per_user_rps_limit: Option<u32>,
pub window_secs: u64,
pub enable_burst: bool,
pub burst_size: u32,
pub storage_backend: String,
pub redis_url: Option<String>,
}Expand description
Rate limiting configuration
Fields§
§enable_rate_limiting: boolEnable rate limiting
global_rps_limit: Option<u32>Global requests per second limit
per_ip_rps_limit: Option<u32>Per-IP requests per second limit
per_user_rps_limit: Option<u32>Per-user requests per second limit
window_secs: u64Rate limiting window in seconds
enable_burst: boolEnable burst allowance
burst_size: u32Burst size
storage_backend: StringRate limiting storage backend (memory, redis)
redis_url: Option<String>Redis URL for distributed rate limiting
Trait Implementations§
Source§impl Clone for RateLimitingConfig
impl Clone for RateLimitingConfig
Source§fn clone(&self) -> RateLimitingConfig
fn clone(&self) -> RateLimitingConfig
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for RateLimitingConfig
impl Debug for RateLimitingConfig
Auto Trait Implementations§
impl Freeze for RateLimitingConfig
impl RefUnwindSafe for RateLimitingConfig
impl Send for RateLimitingConfig
impl Sync for RateLimitingConfig
impl Unpin for RateLimitingConfig
impl UnwindSafe for RateLimitingConfig
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more