pub struct RateLimitMiddleware { /* private fields */ }Expand description
Rate limiting middleware helper
Implementations§
Source§impl RateLimitMiddleware
impl RateLimitMiddleware
pub fn new() -> Self
Sourcepub async fn add_limiter(
&mut self,
name: &str,
config: RateLimitConfig,
) -> Result<()>
pub async fn add_limiter( &mut self, name: &str, config: RateLimitConfig, ) -> Result<()>
Add a rate limiter for a specific endpoint or operation
Sourcepub async fn check_limit(
&self,
limiter_name: &str,
key: &str,
) -> Result<RateLimitResult>
pub async fn check_limit( &self, limiter_name: &str, key: &str, ) -> Result<RateLimitResult>
Check rate limit for a specific operation
Sourcepub async fn check_multiple(
&self,
checks: &[(String, String)],
) -> Result<RateLimitResult>
pub async fn check_multiple( &self, checks: &[(String, String)], ) -> Result<RateLimitResult>
Check multiple rate limits (e.g., per-IP and per-user)
Trait Implementations§
Auto Trait Implementations§
impl Freeze for RateLimitMiddleware
impl !RefUnwindSafe for RateLimitMiddleware
impl Send for RateLimitMiddleware
impl Sync for RateLimitMiddleware
impl Unpin for RateLimitMiddleware
impl !UnwindSafe for RateLimitMiddleware
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
Source§fn in_current_span(self) -> Instrumented<Self>
fn in_current_span(self) -> Instrumented<Self>
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more