pub struct MiddlewareRateLimitSourceCriterionIpStrategy {
pub depth: Option<i64>,
pub excluded_i_ps: Option<Vec<String>>,
pub ipv6_subnet: Option<i64>,
}
Expand description
IPStrategy holds the IP strategy configuration used by Traefik to determine the client IP. More info: https://doc.traefik.io/traefik/v3.3/middlewares/http/ipallowlist/#ipstrategy
Fields§
§depth: Option<i64>
Depth tells Traefik to use the X-Forwarded-For header and take the IP located at the depth position (starting from the right).
excluded_i_ps: Option<Vec<String>>
ExcludedIPs configures Traefik to scan the X-Forwarded-For header and select the first IP not in the list.
ipv6_subnet: Option<i64>
IPv6Subnet configures Traefik to consider all IPv6 addresses from the defined subnet as originating from the same IP. Applies to RemoteAddrStrategy and DepthStrategy.
Implementations§
Source§impl MiddlewareRateLimitSourceCriterionIpStrategy
impl MiddlewareRateLimitSourceCriterionIpStrategy
Sourcepub fn builder() -> MiddlewareRateLimitSourceCriterionIpStrategyBuilder<((), (), ())>
pub fn builder() -> MiddlewareRateLimitSourceCriterionIpStrategyBuilder<((), (), ())>
Create a builder for building MiddlewareRateLimitSourceCriterionIpStrategy
.
On the builder, call .depth(...)
(optional), .excluded_i_ps(...)
(optional), .ipv6_subnet(...)
(optional) to set the values of the fields.
Finally, call .build()
to create the instance of MiddlewareRateLimitSourceCriterionIpStrategy
.
Trait Implementations§
Source§impl Clone for MiddlewareRateLimitSourceCriterionIpStrategy
impl Clone for MiddlewareRateLimitSourceCriterionIpStrategy
Source§fn clone(&self) -> MiddlewareRateLimitSourceCriterionIpStrategy
fn clone(&self) -> MiddlewareRateLimitSourceCriterionIpStrategy
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moreSource§impl Default for MiddlewareRateLimitSourceCriterionIpStrategy
impl Default for MiddlewareRateLimitSourceCriterionIpStrategy
Source§fn default() -> MiddlewareRateLimitSourceCriterionIpStrategy
fn default() -> MiddlewareRateLimitSourceCriterionIpStrategy
Source§impl<'de> Deserialize<'de> for MiddlewareRateLimitSourceCriterionIpStrategy
impl<'de> Deserialize<'de> for MiddlewareRateLimitSourceCriterionIpStrategy
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>,
Source§impl JsonSchema for MiddlewareRateLimitSourceCriterionIpStrategy
impl JsonSchema for MiddlewareRateLimitSourceCriterionIpStrategy
Source§fn schema_name() -> String
fn schema_name() -> String
Source§fn schema_id() -> Cow<'static, str>
fn schema_id() -> Cow<'static, str>
Source§fn json_schema(generator: &mut SchemaGenerator) -> Schema
fn json_schema(generator: &mut SchemaGenerator) -> Schema
Source§fn is_referenceable() -> bool
fn is_referenceable() -> bool
$ref
keyword. Read moreSource§impl PartialEq for MiddlewareRateLimitSourceCriterionIpStrategy
impl PartialEq for MiddlewareRateLimitSourceCriterionIpStrategy
Source§fn eq(&self, other: &MiddlewareRateLimitSourceCriterionIpStrategy) -> bool
fn eq(&self, other: &MiddlewareRateLimitSourceCriterionIpStrategy) -> bool
self
and other
values to be equal, and is used by ==
.impl StructuralPartialEq for MiddlewareRateLimitSourceCriterionIpStrategy
Auto Trait Implementations§
impl Freeze for MiddlewareRateLimitSourceCriterionIpStrategy
impl RefUnwindSafe for MiddlewareRateLimitSourceCriterionIpStrategy
impl Send for MiddlewareRateLimitSourceCriterionIpStrategy
impl Sync for MiddlewareRateLimitSourceCriterionIpStrategy
impl Unpin for MiddlewareRateLimitSourceCriterionIpStrategy
impl UnwindSafe for MiddlewareRateLimitSourceCriterionIpStrategy
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
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>
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