Struct aws_sdk_wafv2::types::Headers
source · #[non_exhaustive]pub struct Headers {
pub match_pattern: Option<HeaderMatchPattern>,
pub match_scope: MapMatchScope,
pub oversize_handling: OversizeHandling,
}
Expand description
Inspect all headers in the web request. You can specify the parts of the headers to inspect and you can narrow the set of headers to inspect by including or excluding specific keys.
This is used to indicate the web request component to inspect, in the FieldToMatch
specification.
If you want to inspect just the value of a single header, use the SingleHeader
FieldToMatch
setting instead.
Example JSON: "Headers": { "MatchPattern": { "All": {} }, "MatchScope": "KEY", "OversizeHandling": "MATCH" }
Fields (Non-exhaustive)§
This struct is marked as non-exhaustive
Struct { .. }
syntax; cannot be matched against without a wildcard ..
; and struct update syntax will not work.match_pattern: Option<HeaderMatchPattern>
The filter to use to identify the subset of headers to inspect in a web request.
You must specify exactly one setting: either All
, IncludedHeaders
, or ExcludedHeaders
.
Example JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
match_scope: MapMatchScope
The parts of the headers to match with the rule inspection criteria. If you specify ALL
, WAF inspects both keys and values.
All
does not require a match to be found in the keys and a match to be found in the values. It requires a match to be found in the keys or the values or both. To require a match in the keys and in the values, use a logical AND
statement to combine two match rules, one that inspects the keys and another that inspects the values.
oversize_handling: OversizeHandling
What WAF should do if the headers of the request are more numerous or larger than WAF can inspect. WAF does not support inspecting the entire contents of request headers when they exceed 8 KB (8192 bytes) or 200 total headers. The underlying host service forwards a maximum of 200 headers and at most 8 KB of header contents to WAF.
The options for oversize handling are the following:
-
CONTINUE
- Inspect the available headers normally, according to the rule inspection criteria. -
MATCH
- Treat the web request as matching the rule statement. WAF applies the rule action to the request. -
NO_MATCH
- Treat the web request as not matching the rule statement.
Implementations§
source§impl Headers
impl Headers
sourcepub fn match_pattern(&self) -> Option<&HeaderMatchPattern>
pub fn match_pattern(&self) -> Option<&HeaderMatchPattern>
The filter to use to identify the subset of headers to inspect in a web request.
You must specify exactly one setting: either All
, IncludedHeaders
, or ExcludedHeaders
.
Example JSON: "MatchPattern": { "ExcludedHeaders": [ "KeyToExclude1", "KeyToExclude2" ] }
sourcepub fn match_scope(&self) -> &MapMatchScope
pub fn match_scope(&self) -> &MapMatchScope
The parts of the headers to match with the rule inspection criteria. If you specify ALL
, WAF inspects both keys and values.
All
does not require a match to be found in the keys and a match to be found in the values. It requires a match to be found in the keys or the values or both. To require a match in the keys and in the values, use a logical AND
statement to combine two match rules, one that inspects the keys and another that inspects the values.
sourcepub fn oversize_handling(&self) -> &OversizeHandling
pub fn oversize_handling(&self) -> &OversizeHandling
What WAF should do if the headers of the request are more numerous or larger than WAF can inspect. WAF does not support inspecting the entire contents of request headers when they exceed 8 KB (8192 bytes) or 200 total headers. The underlying host service forwards a maximum of 200 headers and at most 8 KB of header contents to WAF.
The options for oversize handling are the following:
-
CONTINUE
- Inspect the available headers normally, according to the rule inspection criteria. -
MATCH
- Treat the web request as matching the rule statement. WAF applies the rule action to the request. -
NO_MATCH
- Treat the web request as not matching the rule statement.
Trait Implementations§
source§impl PartialEq for Headers
impl PartialEq for Headers
impl StructuralPartialEq for Headers
Auto Trait Implementations§
impl Freeze for Headers
impl RefUnwindSafe for Headers
impl Send for Headers
impl Sync for Headers
impl Unpin for Headers
impl UnwindSafe for Headers
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> 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