public final class HttpHeaderMatch extends GeneratedMessageV3 implements HttpHeaderMatchOrBuilder
matchRule criteria for request header matches.
Protobuf type google.cloud.compute.v1.HttpHeaderMatch
Fields
public static final int EXACT_MATCH_FIELD_NUMBER
Field Value
public static final int HEADER_NAME_FIELD_NUMBER
Field Value
public static final int INVERT_MATCH_FIELD_NUMBER
Field Value
public static final int PREFIX_MATCH_FIELD_NUMBER
Field Value
public static final int PRESENT_MATCH_FIELD_NUMBER
Field Value
public static final int RANGE_MATCH_FIELD_NUMBER
Field Value
public static final int REGEX_MATCH_FIELD_NUMBER
Field Value
public static final int SUFFIX_MATCH_FIELD_NUMBER
Field Value
Methods
public boolean equals(Object obj)
Parameter
Returns
Overrides
public static HttpHeaderMatch getDefaultInstance()
Returns
public HttpHeaderMatch getDefaultInstanceForType()
Returns
public static final Descriptors.Descriptor getDescriptor()
Returns
public 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.
|
public 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.
|
public 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 target gRPC proxy that has 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.
|
public 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 target gRPC proxy that has 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.
|
public boolean getInvertMatch()
If set to false, the headerMatch is considered a match if the match criteria above are met. If set to true, the headerMatch is considered a match if the match criteria above are NOT met. The default setting is false.
optional bool invert_match = 501130268;
Returns
Type | Description |
boolean | The invertMatch.
|
public Parser<HttpHeaderMatch> getParserForType()
Returns
Overrides
public 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.
|
public 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.
|
public 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.
|
public 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. Note that rangeMatch is not supported for Loadbalancers that have their loadBalancingScheme set to EXTERNAL.
optional .google.cloud.compute.v1.Int64RangeMatch range_match = 97244227;
Returns
public 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. Note that rangeMatch is not supported for Loadbalancers that have their loadBalancingScheme set to EXTERNAL.
optional .google.cloud.compute.v1.Int64RangeMatch range_match = 97244227;
Returns
public String getRegexMatch()
The value of the header must match the regular expression specified in regexMatch. For regular expression grammar, please see: github.com/google/re2/wiki/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. Note that regexMatch only applies to Loadbalancers that have their loadBalancingScheme set to INTERNAL_SELF_MANAGED.
optional string regex_match = 107387853;
Returns
Type | Description |
String | The regexMatch.
|
public ByteString getRegexMatchBytes()
The value of the header must match the regular expression specified in regexMatch. For regular expression grammar, please see: github.com/google/re2/wiki/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. Note that regexMatch only applies to Loadbalancers that have their loadBalancingScheme set to INTERNAL_SELF_MANAGED.
optional string regex_match = 107387853;
Returns
Type | Description |
ByteString | The bytes for regexMatch.
|
public int getSerializedSize()
Returns
Overrides
public 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.
|
public 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.
|
public final UnknownFieldSet getUnknownFields()
Returns
Overrides
public 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.
|
public 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 target gRPC proxy that has 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.
|
public boolean hasInvertMatch()
If set to false, the headerMatch is considered a match if the match criteria above are met. If set to true, the headerMatch is considered a match if the match criteria above are NOT met. The default setting is false.
optional bool invert_match = 501130268;
Returns
Type | Description |
boolean | Whether the invertMatch field is set.
|
public 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.
|
public 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.
|
public 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. Note that rangeMatch is not supported for Loadbalancers that have their loadBalancingScheme set to EXTERNAL.
optional .google.cloud.compute.v1.Int64RangeMatch range_match = 97244227;
Returns
Type | Description |
boolean | Whether the rangeMatch field is set.
|
public boolean hasRegexMatch()
The value of the header must match the regular expression specified in regexMatch. For regular expression grammar, please see: github.com/google/re2/wiki/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. Note that regexMatch only applies to Loadbalancers that have their loadBalancingScheme set to INTERNAL_SELF_MANAGED.
optional string regex_match = 107387853;
Returns
Type | Description |
boolean | Whether the regexMatch field is set.
|
public 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.
|
Returns
Overrides
protected GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
Returns
Overrides
public final boolean isInitialized()
Returns
Overrides
public static HttpHeaderMatch.Builder newBuilder()
Returns
public static HttpHeaderMatch.Builder newBuilder(HttpHeaderMatch prototype)
Parameter
Returns
public HttpHeaderMatch.Builder newBuilderForType()
Returns
protected HttpHeaderMatch.Builder newBuilderForType(GeneratedMessageV3.BuilderParent parent)
Parameter
Returns
Overrides
protected Object newInstance(GeneratedMessageV3.UnusedPrivateParameter unused)
Parameter
Returns
Overrides
public static HttpHeaderMatch parseDelimitedFrom(InputStream input)
Parameter
Returns
Exceptions
public static HttpHeaderMatch parseDelimitedFrom(InputStream input, ExtensionRegistryLite extensionRegistry)
Parameters
Returns
Exceptions
public static HttpHeaderMatch parseFrom(byte[] data)
Parameter
Name | Description |
data | byte[]
|
Returns
Exceptions
public static HttpHeaderMatch parseFrom(byte[] data, ExtensionRegistryLite extensionRegistry)
Parameters
Returns
Exceptions
public static HttpHeaderMatch parseFrom(ByteString data)
Parameter
Returns
Exceptions
public static HttpHeaderMatch parseFrom(ByteString data, ExtensionRegistryLite extensionRegistry)
Parameters
Returns
Exceptions
public static HttpHeaderMatch parseFrom(CodedInputStream input)
Parameter
Returns
Exceptions
public static HttpHeaderMatch parseFrom(CodedInputStream input, ExtensionRegistryLite extensionRegistry)
Parameters
Returns
Exceptions
public static HttpHeaderMatch parseFrom(InputStream input)
Parameter
Returns
Exceptions
public static HttpHeaderMatch parseFrom(InputStream input, ExtensionRegistryLite extensionRegistry)
Parameters
Returns
Exceptions
public static HttpHeaderMatch parseFrom(ByteBuffer data)
Parameter
Returns
Exceptions
public static HttpHeaderMatch parseFrom(ByteBuffer data, ExtensionRegistryLite extensionRegistry)
Parameters
Returns
Exceptions
public static Parser<HttpHeaderMatch> parser()
Returns
public HttpHeaderMatch.Builder toBuilder()
Returns
public void writeTo(CodedOutputStream output)
Parameter
Overrides
Exceptions