#[non_exhaustive]pub struct RateRuleConfig {
pub pattern: String,
pub key: KeySourceConfig,
pub profile: Option<String>,
}Expand description
One rate-limit rule: a path pattern, how to key it, and an optional static
profile. The rule’s phase (before or after auth) is derived from its key
alone: a jwt_claim key needs validated claims so it runs after auth; ip
and header keys run before auth so anonymous floods are shed before any
signature verification. (jwt_limits therefore only takes effect on
jwt_claim rules, the only ones running with claims available.)
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Non-exhaustive structs could have additional fields added in future. Therefore, non-exhaustive structs cannot be constructed in external crates using the traditional
Struct { .. } syntax; cannot be matched against without a wildcard ..; and struct update syntax will not work.pattern: StringGlob path pattern (* within a segment, ** across segments).
key: KeySourceConfigHow to derive the limit key (who is limited). Defaults to client IP.
profile: Option<String>Static profile name for this rule, used when JWT/service resolution does
not apply or yields nothing. Must name an entry in profiles.
Trait Implementations§
Source§impl Clone for RateRuleConfig
impl Clone for RateRuleConfig
Source§fn clone(&self) -> RateRuleConfig
fn clone(&self) -> RateRuleConfig
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · 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 RateRuleConfig
impl Debug for RateRuleConfig
Source§impl<'de> Deserialize<'de> for RateRuleConfig
impl<'de> Deserialize<'de> for RateRuleConfig
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for RateRuleConfig
impl RefUnwindSafe for RateRuleConfig
impl Send for RateRuleConfig
impl Sync for RateRuleConfig
impl Unpin for RateRuleConfig
impl UnsafeUnpin for RateRuleConfig
impl UnwindSafe for RateRuleConfig
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
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
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> IntoRequest<T> for T
impl<T> IntoRequest<T> for T
Source§fn into_request(self) -> Request<T>
fn into_request(self) -> Request<T>
Wrap the input message
T in a tonic::Request