pub struct RateLimitLayer { /* private fields */ }Expand description
Token-bucket rate limiter.
Implementations§
Trait Implementations§
Source§impl ProxyLayer for RateLimitLayer
impl ProxyLayer for RateLimitLayer
Source§fn on_request<'life0, 'async_trait>(
&'life0 self,
request: ProxyRequest,
) -> Pin<Box<dyn Future<Output = ProxyResult<LayerAction>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn on_request<'life0, 'async_trait>(
&'life0 self,
request: ProxyRequest,
) -> Pin<Box<dyn Future<Output = ProxyResult<LayerAction>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Process an incoming request. Return
Forward to pass it on,
or Respond to short-circuit with an immediate response.Source§fn on_response<'life0, 'async_trait>(
&'life0 self,
response: ProxyResponse,
) -> Pin<Box<dyn Future<Output = ProxyResult<ProxyResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn on_response<'life0, 'async_trait>(
&'life0 self,
response: ProxyResponse,
) -> Pin<Box<dyn Future<Output = ProxyResult<ProxyResponse>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
Process a response before it’s sent back to the client.
Called in reverse layer order.
Auto Trait Implementations§
impl Freeze for RateLimitLayer
impl !RefUnwindSafe for RateLimitLayer
impl Send for RateLimitLayer
impl Sync for RateLimitLayer
impl Unpin for RateLimitLayer
impl UnsafeUnpin for RateLimitLayer
impl !UnwindSafe for RateLimitLayer
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