Interface HttpHeaderMatchOrBuilder (1.61.0)

public interface HttpHeaderMatchOrBuilder extends MessageOrBuilder

Implements

MessageOrBuilder

Methods

getExactMatch()

public abstract String getExactMatch()

The value should exactly match contents of exactMatch. Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set.

optional string exact_match = 457641093;

Returns
Type Description
String

The exactMatch.

getExactMatchBytes()

public abstract ByteString getExactMatchBytes()

The value should exactly match contents of exactMatch. Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set.

optional string exact_match = 457641093;

Returns
Type Description
ByteString

The bytes for exactMatch.

getHeaderName()

public abstract String getHeaderName()

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.

optional string header_name = 110223613;

Returns
Type Description
String

The headerName.

getHeaderNameBytes()

public abstract ByteString getHeaderNameBytes()

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.

optional string header_name = 110223613;

Returns
Type Description
ByteString

The bytes for headerName.

getInvertMatch()

public abstract boolean getInvertMatch()

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.

optional bool invert_match = 501130268;

Returns
Type Description
boolean

The invertMatch.

getPrefixMatch()

public abstract String getPrefixMatch()

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.

optional string prefix_match = 257898968;

Returns
Type Description
String

The prefixMatch.

getPrefixMatchBytes()

public abstract ByteString getPrefixMatchBytes()

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.

optional string prefix_match = 257898968;

Returns
Type Description
ByteString

The bytes for prefixMatch.

getPresentMatch()

public abstract boolean getPresentMatch()

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.

optional bool present_match = 67435841;

Returns
Type Description
boolean

The presentMatch.

getRangeMatch()

public abstract Int64RangeMatch getRangeMatch()

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.

optional .google.cloud.compute.v1.Int64RangeMatch range_match = 97244227;

Returns
Type Description
Int64RangeMatch

The rangeMatch.

getRangeMatchOrBuilder()

public abstract Int64RangeMatchOrBuilder getRangeMatchOrBuilder()

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.

optional .google.cloud.compute.v1.Int64RangeMatch range_match = 97244227;

Returns
Type Description
Int64RangeMatchOrBuilder

getRegexMatch()

public abstract String getRegexMatch()

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.

optional string regex_match = 107387853;

Returns
Type Description
String

The regexMatch.

getRegexMatchBytes()

public abstract ByteString getRegexMatchBytes()

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.

optional string regex_match = 107387853;

Returns
Type Description
ByteString

The bytes for regexMatch.

getSuffixMatch()

public abstract String getSuffixMatch()

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.

optional string suffix_match = 426488663;

Returns
Type Description
String

The suffixMatch.

getSuffixMatchBytes()

public abstract ByteString getSuffixMatchBytes()

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.

optional string suffix_match = 426488663;

Returns
Type Description
ByteString

The bytes for suffixMatch.

hasExactMatch()

public abstract boolean hasExactMatch()

The value should exactly match contents of exactMatch. Only one of exactMatch, prefixMatch, suffixMatch, regexMatch, presentMatch or rangeMatch must be set.

optional string exact_match = 457641093;

Returns
Type Description
boolean

Whether the exactMatch field is set.

hasHeaderName()

public abstract boolean hasHeaderName()

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.

optional string header_name = 110223613;

Returns
Type Description
boolean

Whether the headerName field is set.

hasInvertMatch()

public abstract boolean hasInvertMatch()

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.

optional bool invert_match = 501130268;

Returns
Type Description
boolean

Whether the invertMatch field is set.

hasPrefixMatch()

public abstract boolean hasPrefixMatch()

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.

optional string prefix_match = 257898968;

Returns
Type Description
boolean

Whether the prefixMatch field is set.

hasPresentMatch()

public abstract boolean hasPresentMatch()

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.

optional bool present_match = 67435841;

Returns
Type Description
boolean

Whether the presentMatch field is set.

hasRangeMatch()

public abstract boolean hasRangeMatch()

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.

optional .google.cloud.compute.v1.Int64RangeMatch range_match = 97244227;

Returns
Type Description
boolean

Whether the rangeMatch field is set.

hasRegexMatch()

public abstract boolean hasRegexMatch()

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.

optional string regex_match = 107387853;

Returns
Type Description
boolean

Whether the regexMatch field is set.

hasSuffixMatch()

public abstract boolean hasSuffixMatch()

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.

optional string suffix_match = 426488663;

Returns
Type Description
boolean

Whether the suffixMatch field is set.