Struct google_api_proto::google::cloud::compute::v1::HttpHeaderMatch
source · pub struct HttpHeaderMatch {
pub exact_match: Option<String>,
pub header_name: Option<String>,
pub invert_match: Option<bool>,
pub prefix_match: Option<String>,
pub present_match: Option<bool>,
pub range_match: Option<Int64RangeMatch>,
pub regex_match: Option<String>,
pub suffix_match: Option<String>,
}
Expand description
matchRule criteria for request header matches.
Fields§
§exact_match: Option<String>
The value should exactly match contents of exactMatch. Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set.
header_name: Option<String>
The name of the HTTP header to match. For matching against the HTTP request’s authority, use a headerMatch with the header name “:authority”. For matching a request’s method, use the headerName “:method”. When the URL map is bound to a target gRPC proxy that has the validateForProxyless field set to true, only non-binary user-specified custom metadata and the content-type
header are supported. The following transport-level headers cannot be used in header matching rules: :authority
, :method
, :path
, :scheme
, user-agent
, accept-encoding
, content-encoding
, grpc-accept-encoding
, grpc-encoding
, grpc-previous-rpc-attempts
, grpc-tags-bin
, grpc-timeout
and grpc-trace-bin
.
invert_match: Option<bool>
If set to false, the headerMatch is considered a match if the preceding match criteria are met. If set to true, the headerMatch is considered a match if the preceding match criteria are NOT met. The default setting is false.
prefix_match: Option<String>
The value of the header must start with the contents of prefixMatch. Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set.
present_match: Option<bool>
A header with the contents of headerName must exist. The match takes place whether or not the request’s header has a value. Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set.
range_match: Option<Int64RangeMatch>
The header value must be an integer and its value must be in the range specified in rangeMatch. If the header does not contain an integer, number or is empty, the match fails. For example for a range [-5, 0] - -3 will match. - 0 will not match. - 0.25 will not match. - -3someString will not match. Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set. rangeMatch is not supported for load balancers that have loadBalancingScheme set to EXTERNAL.
regex_match: Option<String>
The value of the header must match the regular expression specified in regexMatch. For more information about regular expression syntax, see Syntax. For matching against a port specified in the HTTP request, use a headerMatch with headerName set to PORT and a regular expression that satisfies the RFC2616 Host header’s port specifier. Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set. Regular expressions can only be used when the loadBalancingScheme is set to INTERNAL_SELF_MANAGED.
suffix_match: Option<String>
The value of the header must end with the contents of suffixMatch. Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set.
Implementations§
source§impl HttpHeaderMatch
impl HttpHeaderMatch
sourcepub fn present_match(&self) -> bool
pub fn present_match(&self) -> bool
Returns the value of present_match
, or the default value if present_match
is unset.
sourcepub fn regex_match(&self) -> &str
pub fn regex_match(&self) -> &str
Returns the value of regex_match
, or the default value if regex_match
is unset.
sourcepub fn header_name(&self) -> &str
pub fn header_name(&self) -> &str
Returns the value of header_name
, or the default value if header_name
is unset.
sourcepub fn prefix_match(&self) -> &str
pub fn prefix_match(&self) -> &str
Returns the value of prefix_match
, or the default value if prefix_match
is unset.
sourcepub fn suffix_match(&self) -> &str
pub fn suffix_match(&self) -> &str
Returns the value of suffix_match
, or the default value if suffix_match
is unset.
sourcepub fn exact_match(&self) -> &str
pub fn exact_match(&self) -> &str
Returns the value of exact_match
, or the default value if exact_match
is unset.
sourcepub fn invert_match(&self) -> bool
pub fn invert_match(&self) -> bool
Returns the value of invert_match
, or the default value if invert_match
is unset.
Trait Implementations§
source§impl Clone for HttpHeaderMatch
impl Clone for HttpHeaderMatch
source§fn clone(&self) -> HttpHeaderMatch
fn clone(&self) -> HttpHeaderMatch
1.0.0 · source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source
. Read moresource§impl Debug for HttpHeaderMatch
impl Debug for HttpHeaderMatch
source§impl Default for HttpHeaderMatch
impl Default for HttpHeaderMatch
source§impl Message for HttpHeaderMatch
impl Message for HttpHeaderMatch
source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
source§fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8>where
Self: Sized,
source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
. Read moresource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self
.source§impl PartialEq for HttpHeaderMatch
impl PartialEq for HttpHeaderMatch
source§fn eq(&self, other: &HttpHeaderMatch) -> bool
fn eq(&self, other: &HttpHeaderMatch) -> bool
self
and other
values to be equal, and is used
by ==
.impl StructuralPartialEq for HttpHeaderMatch
Auto Trait Implementations§
impl Freeze for HttpHeaderMatch
impl RefUnwindSafe for HttpHeaderMatch
impl Send for HttpHeaderMatch
impl Sync for HttpHeaderMatch
impl Unpin for HttpHeaderMatch
impl UnwindSafe for HttpHeaderMatch
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
§impl<T> Instrument for T
impl<T> Instrument for T
§fn instrument(self, span: Span) -> Instrumented<Self>
fn instrument(self, span: Span) -> Instrumented<Self>
§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>
T
in a tonic::Request