pub struct RateLimitConfigBuilder { /* private fields */ }Expand description
Builder for RateLimitConfig
§Examples
Building a generous rate limit for authenticated users:
use chie_shared::RateLimitConfigBuilder;
let config = RateLimitConfigBuilder::new()
.max_requests(1000)
.window_secs(60) // 1000 requests per minute
.burst_size(200) // Allow larger bursts
.enabled(true)
.build();
assert_eq!(config.max_requests, 1000);
assert!(config.validate().is_ok());Disabling rate limiting for internal services:
use chie_shared::RateLimitConfigBuilder;
let config = RateLimitConfigBuilder::new()
.enabled(false)
.build();
assert!(!config.enabled);
assert!(config.validate().is_ok());Implementations§
Source§impl RateLimitConfigBuilder
impl RateLimitConfigBuilder
Sourcepub const fn max_requests(self, max: u32) -> Self
pub const fn max_requests(self, max: u32) -> Self
Set maximum requests per window
Sourcepub const fn window_secs(self, secs: u64) -> Self
pub const fn window_secs(self, secs: u64) -> Self
Set time window in seconds
Sourcepub const fn burst_size(self, size: u32) -> Self
pub const fn burst_size(self, size: u32) -> Self
Set burst size
Sourcepub const fn build(self) -> RateLimitConfig
pub const fn build(self) -> RateLimitConfig
Build the configuration
Trait Implementations§
Source§impl Debug for RateLimitConfigBuilder
impl Debug for RateLimitConfigBuilder
Source§impl Default for RateLimitConfigBuilder
impl Default for RateLimitConfigBuilder
Source§fn default() -> RateLimitConfigBuilder
fn default() -> RateLimitConfigBuilder
Returns the “default value” for a type. Read more
Auto Trait Implementations§
impl Freeze for RateLimitConfigBuilder
impl RefUnwindSafe for RateLimitConfigBuilder
impl Send for RateLimitConfigBuilder
impl Sync for RateLimitConfigBuilder
impl Unpin for RateLimitConfigBuilder
impl UnwindSafe for RateLimitConfigBuilder
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