Class RouteMatch
java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessage
io.envoyproxy.envoy.config.route.v3.RouteMatch
- All Implemented Interfaces:
com.google.protobuf.Message
,com.google.protobuf.MessageLite
,com.google.protobuf.MessageLiteOrBuilder
,com.google.protobuf.MessageOrBuilder
,RouteMatchOrBuilder
,Serializable
public final class RouteMatch
extends com.google.protobuf.GeneratedMessage
implements RouteMatchOrBuilder
[#next-free-field: 16]Protobuf type
envoy.config.route.v3.RouteMatch
- See Also:
-
Nested Class Summary
Nested ClassesModifier and TypeClassDescriptionstatic final class
[#next-free-field: 16]static final class
An extensible message for matching CONNECT or CONNECT-UDP requests.static interface
static final class
Protobuf typeenvoy.config.route.v3.RouteMatch.GrpcRouteMatchOptions
static interface
static enum
static final class
Protobuf typeenvoy.config.route.v3.RouteMatch.TlsContextMatchOptions
static interface
Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessage
com.google.protobuf.GeneratedMessage.ExtendableBuilder<MessageT extends com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT>,
BuilderT extends com.google.protobuf.GeneratedMessage.ExtendableBuilder<MessageT, BuilderT>>, com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT extends com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessage.ExtendableMessageOrBuilder<MessageT extends com.google.protobuf.GeneratedMessage.ExtendableMessage<MessageT>>, com.google.protobuf.GeneratedMessage.FieldAccessorTable, com.google.protobuf.GeneratedMessage.GeneratedExtension<ContainingT extends com.google.protobuf.Message, T>, com.google.protobuf.GeneratedMessage.UnusedPrivateParameter Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessage
com.google.protobuf.AbstractMessage.BuilderParent
Nested classes/interfaces inherited from class com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessageLite.InternalOneOfEnum
-
Field Summary
FieldsModifier and TypeFieldDescriptionprivate int
static final int
private com.google.protobuf.BoolValue
static final int
private static final RouteMatch
static final int
private List
<MetadataMatcher> private RouteMatch.GrpcRouteMatchOptions
static final int
private List
<HeaderMatcher> static final int
private byte
private static final com.google.protobuf.Parser
<RouteMatch> static final int
static final int
static final int
private Object
private int
static final int
static final int
private List
<QueryParameterMatcher> static final int
private RuntimeFractionalPercent
static final int
private static final long
static final int
Fields inherited from class com.google.protobuf.GeneratedMessage
alwaysUseFieldBuilders, unknownFields
Fields inherited from class com.google.protobuf.AbstractMessage
memoizedSize
Fields inherited from class com.google.protobuf.AbstractMessageLite
memoizedHashCode
-
Constructor Summary
ConstructorsModifierConstructorDescriptionprivate
private
RouteMatch
(com.google.protobuf.GeneratedMessage.Builder<?> builder) -
Method Summary
Modifier and TypeMethodDescriptionboolean
com.google.protobuf.BoolValue
Indicates that prefix/path matching should be case sensitive.com.google.protobuf.BoolValueOrBuilder
Indicates that prefix/path matching should be case sensitive.If this is used as the matcher, the matcher will only match CONNECT or CONNECT-UDP requests.If this is used as the matcher, the matcher will only match CONNECT or CONNECT-UDP requests.static RouteMatch
static final com.google.protobuf.Descriptors.Descriptor
getDynamicMetadata
(int index) Specifies a set of dynamic metadata matchers on which the route should match.int
Specifies a set of dynamic metadata matchers on which the route should match.Specifies a set of dynamic metadata matchers on which the route should match.getDynamicMetadataOrBuilder
(int index) Specifies a set of dynamic metadata matchers on which the route should match.List
<? extends MetadataMatcherOrBuilder> Specifies a set of dynamic metadata matchers on which the route should match.getGrpc()
If specified, only gRPC requests will be matched.If specified, only gRPC requests will be matched.getHeaders
(int index) Specifies a set of headers that the route should match on.int
Specifies a set of headers that the route should match on.Specifies a set of headers that the route should match on.getHeadersOrBuilder
(int index) Specifies a set of headers that the route should match on.List
<? extends HeaderMatcherOrBuilder> Specifies a set of headers that the route should match on.com.google.protobuf.Parser
<RouteMatch> getPath()
If specified, the route is an exact path rule meaning that the path must exactly match the ``:path`` header once the query string is removed.com.google.protobuf.ByteString
If specified, the route is an exact path rule meaning that the path must exactly match the ``:path`` header once the query string is removed.[#extension-category: envoy.path.match][#extension-category: envoy.path.match]If specified, the route is a path-separated prefix rule meaning that the ``:path`` header (without the query string) must either exactly match the ``path_separated_prefix`` or have it as a prefix, followed by ``/`` For example, ``/api/dev`` would match ``/api/dev``, ``/api/dev/``, ``/api/dev/v1``, and ``/api/dev?param=true`` but would not match ``/api/developer`` Expect the value to not contain ``?`` or ``#`` and not to end in ``/``com.google.protobuf.ByteString
If specified, the route is a path-separated prefix rule meaning that the ``:path`` header (without the query string) must either exactly match the ``path_separated_prefix`` or have it as a prefix, followed by ``/`` For example, ``/api/dev`` would match ``/api/dev``, ``/api/dev/``, ``/api/dev/v1``, and ``/api/dev?param=true`` but would not match ``/api/developer`` Expect the value to not contain ``?`` or ``#`` and not to end in ``/``If specified, the route is a prefix rule meaning that the prefix must match the beginning of the ``:path`` header.com.google.protobuf.ByteString
If specified, the route is a prefix rule meaning that the prefix must match the beginning of the ``:path`` header.getQueryParameters
(int index) Specifies a set of URL query parameters on which the route should match.int
Specifies a set of URL query parameters on which the route should match.Specifies a set of URL query parameters on which the route should match.getQueryParametersOrBuilder
(int index) Specifies a set of URL query parameters on which the route should match.List
<? extends QueryParameterMatcherOrBuilder> Specifies a set of URL query parameters on which the route should match.Indicates that the route should additionally match on a runtime key.Indicates that the route should additionally match on a runtime key.If specified, the route is a regular expression rule meaning that the regex must match the ``:path`` header once the query string is removed.If specified, the route is a regular expression rule meaning that the regex must match the ``:path`` header once the query string is removed.int
If specified, the client tls context will be matched against the defined match options.If specified, the client tls context will be matched against the defined match options.boolean
Indicates that prefix/path matching should be case sensitive.boolean
If this is used as the matcher, the matcher will only match CONNECT or CONNECT-UDP requests.boolean
hasGrpc()
If specified, only gRPC requests will be matched.int
hashCode()
boolean
hasPath()
If specified, the route is an exact path rule meaning that the path must exactly match the ``:path`` header once the query string is removed.boolean
[#extension-category: envoy.path.match]boolean
If specified, the route is a path-separated prefix rule meaning that the ``:path`` header (without the query string) must either exactly match the ``path_separated_prefix`` or have it as a prefix, followed by ``/`` For example, ``/api/dev`` would match ``/api/dev``, ``/api/dev/``, ``/api/dev/v1``, and ``/api/dev?param=true`` but would not match ``/api/developer`` Expect the value to not contain ``?`` or ``#`` and not to end in ``/``boolean
If specified, the route is a prefix rule meaning that the prefix must match the beginning of the ``:path`` header.boolean
Indicates that the route should additionally match on a runtime key.boolean
If specified, the route is a regular expression rule meaning that the regex must match the ``:path`` header once the query string is removed.boolean
If specified, the client tls context will be matched against the defined match options.protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
final boolean
static RouteMatch.Builder
static RouteMatch.Builder
newBuilder
(RouteMatch prototype) protected RouteMatch.Builder
newBuilderForType
(com.google.protobuf.AbstractMessage.BuilderParent parent) static RouteMatch
parseDelimitedFrom
(InputStream input) static RouteMatch
parseDelimitedFrom
(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static RouteMatch
parseFrom
(byte[] data) static RouteMatch
parseFrom
(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static RouteMatch
parseFrom
(com.google.protobuf.ByteString data) static RouteMatch
parseFrom
(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static RouteMatch
parseFrom
(com.google.protobuf.CodedInputStream input) static RouteMatch
parseFrom
(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static RouteMatch
parseFrom
(InputStream input) static RouteMatch
parseFrom
(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static RouteMatch
parseFrom
(ByteBuffer data) static RouteMatch
parseFrom
(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) static com.google.protobuf.Parser
<RouteMatch> parser()
void
writeTo
(com.google.protobuf.CodedOutputStream output) Methods inherited from class com.google.protobuf.GeneratedMessage
canUseUnsafe, computeStringSize, computeStringSizeNoTag, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyList, emptyLongList, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof, internalGetMapField, internalGetMapFieldReflection, isStringEmpty, makeMutableCopy, makeMutableCopy, mergeFromAndMakeImmutableInternal, newFileScopedGeneratedExtension, newInstance, newMessageScopedGeneratedExtension, parseDelimitedWithIOException, parseDelimitedWithIOException, parseUnknownField, parseUnknownFieldProto3, parseWithIOException, parseWithIOException, parseWithIOException, parseWithIOException, serializeBooleanMapTo, serializeIntegerMapTo, serializeLongMapTo, serializeStringMapTo, writeReplace, writeString, writeStringNoTag
Methods inherited from class com.google.protobuf.AbstractMessage
findInitializationErrors, getInitializationErrorString, hashFields, toString
Methods inherited from class com.google.protobuf.AbstractMessageLite
addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeTo
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface com.google.protobuf.MessageLite
toByteArray, toByteString, writeDelimitedTo, writeTo
Methods inherited from interface com.google.protobuf.MessageOrBuilder
findInitializationErrors, getAllFields, getDescriptorForType, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
-
Field Details
-
serialVersionUID
private static final long serialVersionUID- See Also:
-
bitField0_
private int bitField0_ -
pathSpecifierCase_
private int pathSpecifierCase_ -
pathSpecifier_
-
PREFIX_FIELD_NUMBER
public static final int PREFIX_FIELD_NUMBER- See Also:
-
PATH_FIELD_NUMBER
public static final int PATH_FIELD_NUMBER- See Also:
-
SAFE_REGEX_FIELD_NUMBER
public static final int SAFE_REGEX_FIELD_NUMBER- See Also:
-
CONNECT_MATCHER_FIELD_NUMBER
public static final int CONNECT_MATCHER_FIELD_NUMBER- See Also:
-
PATH_SEPARATED_PREFIX_FIELD_NUMBER
public static final int PATH_SEPARATED_PREFIX_FIELD_NUMBER- See Also:
-
PATH_MATCH_POLICY_FIELD_NUMBER
public static final int PATH_MATCH_POLICY_FIELD_NUMBER- See Also:
-
CASE_SENSITIVE_FIELD_NUMBER
public static final int CASE_SENSITIVE_FIELD_NUMBER- See Also:
-
caseSensitive_
private com.google.protobuf.BoolValue caseSensitive_ -
RUNTIME_FRACTION_FIELD_NUMBER
public static final int RUNTIME_FRACTION_FIELD_NUMBER- See Also:
-
runtimeFraction_
-
HEADERS_FIELD_NUMBER
public static final int HEADERS_FIELD_NUMBER- See Also:
-
headers_
-
QUERY_PARAMETERS_FIELD_NUMBER
public static final int QUERY_PARAMETERS_FIELD_NUMBER- See Also:
-
queryParameters_
-
GRPC_FIELD_NUMBER
public static final int GRPC_FIELD_NUMBER- See Also:
-
grpc_
-
TLS_CONTEXT_FIELD_NUMBER
public static final int TLS_CONTEXT_FIELD_NUMBER- See Also:
-
tlsContext_
-
DYNAMIC_METADATA_FIELD_NUMBER
public static final int DYNAMIC_METADATA_FIELD_NUMBER- See Also:
-
dynamicMetadata_
-
memoizedIsInitialized
private byte memoizedIsInitialized -
DEFAULT_INSTANCE
-
PARSER
-
-
Constructor Details
-
RouteMatch
private RouteMatch(com.google.protobuf.GeneratedMessage.Builder<?> builder) -
RouteMatch
private RouteMatch()
-
-
Method Details
-
getDescriptor
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() -
internalGetFieldAccessorTable
protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()- Specified by:
internalGetFieldAccessorTable
in classcom.google.protobuf.GeneratedMessage
-
getPathSpecifierCase
- Specified by:
getPathSpecifierCase
in interfaceRouteMatchOrBuilder
-
hasPrefix
public boolean hasPrefix()If specified, the route is a prefix rule meaning that the prefix must match the beginning of the ``:path`` header.
string prefix = 1;
- Specified by:
hasPrefix
in interfaceRouteMatchOrBuilder
- Returns:
- Whether the prefix field is set.
-
getPrefix
If specified, the route is a prefix rule meaning that the prefix must match the beginning of the ``:path`` header.
string prefix = 1;
- Specified by:
getPrefix
in interfaceRouteMatchOrBuilder
- Returns:
- The prefix.
-
getPrefixBytes
public com.google.protobuf.ByteString getPrefixBytes()If specified, the route is a prefix rule meaning that the prefix must match the beginning of the ``:path`` header.
string prefix = 1;
- Specified by:
getPrefixBytes
in interfaceRouteMatchOrBuilder
- Returns:
- The bytes for prefix.
-
hasPath
public boolean hasPath()If specified, the route is an exact path rule meaning that the path must exactly match the ``:path`` header once the query string is removed.
string path = 2;
- Specified by:
hasPath
in interfaceRouteMatchOrBuilder
- Returns:
- Whether the path field is set.
-
getPath
If specified, the route is an exact path rule meaning that the path must exactly match the ``:path`` header once the query string is removed.
string path = 2;
- Specified by:
getPath
in interfaceRouteMatchOrBuilder
- Returns:
- The path.
-
getPathBytes
public com.google.protobuf.ByteString getPathBytes()If specified, the route is an exact path rule meaning that the path must exactly match the ``:path`` header once the query string is removed.
string path = 2;
- Specified by:
getPathBytes
in interfaceRouteMatchOrBuilder
- Returns:
- The bytes for path.
-
hasSafeRegex
public boolean hasSafeRegex()If specified, the route is a regular expression rule meaning that the regex must match the ``:path`` header once the query string is removed. The entire path (without the query string) must match the regex. The rule will not match if only a subsequence of the ``:path`` header matches the regex. [#next-major-version: In the v3 API we should redo how path specification works such that we utilize StringMatcher, and additionally have consistent options around whether we strip query strings, do a case sensitive match, etc. In the interim it will be too disruptive to deprecate the existing options. We should even consider whether we want to do away with path_specifier entirely and just rely on a set of header matchers which can already match on :path, etc. The issue with that is it is unclear how to generically deal with query string stripping. This needs more thought.]
.envoy.type.matcher.v3.RegexMatcher safe_regex = 10 [(.validate.rules) = { ... }
- Specified by:
hasSafeRegex
in interfaceRouteMatchOrBuilder
- Returns:
- Whether the safeRegex field is set.
-
getSafeRegex
If specified, the route is a regular expression rule meaning that the regex must match the ``:path`` header once the query string is removed. The entire path (without the query string) must match the regex. The rule will not match if only a subsequence of the ``:path`` header matches the regex. [#next-major-version: In the v3 API we should redo how path specification works such that we utilize StringMatcher, and additionally have consistent options around whether we strip query strings, do a case sensitive match, etc. In the interim it will be too disruptive to deprecate the existing options. We should even consider whether we want to do away with path_specifier entirely and just rely on a set of header matchers which can already match on :path, etc. The issue with that is it is unclear how to generically deal with query string stripping. This needs more thought.]
.envoy.type.matcher.v3.RegexMatcher safe_regex = 10 [(.validate.rules) = { ... }
- Specified by:
getSafeRegex
in interfaceRouteMatchOrBuilder
- Returns:
- The safeRegex.
-
getSafeRegexOrBuilder
If specified, the route is a regular expression rule meaning that the regex must match the ``:path`` header once the query string is removed. The entire path (without the query string) must match the regex. The rule will not match if only a subsequence of the ``:path`` header matches the regex. [#next-major-version: In the v3 API we should redo how path specification works such that we utilize StringMatcher, and additionally have consistent options around whether we strip query strings, do a case sensitive match, etc. In the interim it will be too disruptive to deprecate the existing options. We should even consider whether we want to do away with path_specifier entirely and just rely on a set of header matchers which can already match on :path, etc. The issue with that is it is unclear how to generically deal with query string stripping. This needs more thought.]
.envoy.type.matcher.v3.RegexMatcher safe_regex = 10 [(.validate.rules) = { ... }
- Specified by:
getSafeRegexOrBuilder
in interfaceRouteMatchOrBuilder
-
hasConnectMatcher
public boolean hasConnectMatcher()If this is used as the matcher, the matcher will only match CONNECT or CONNECT-UDP requests. Note that this will not match other Extended CONNECT requests (WebSocket and the like) as they are normalized in Envoy as HTTP/1.1 style upgrades. This is the only way to match CONNECT requests for HTTP/1.1. For HTTP/2 and HTTP/3, where Extended CONNECT requests may have a path, the path matchers will work if there is a path present. Note that CONNECT support is currently considered alpha in Envoy. [#comment: TODO(htuch): Replace the above comment with an alpha tag.]
.envoy.config.route.v3.RouteMatch.ConnectMatcher connect_matcher = 12;
- Specified by:
hasConnectMatcher
in interfaceRouteMatchOrBuilder
- Returns:
- Whether the connectMatcher field is set.
-
getConnectMatcher
If this is used as the matcher, the matcher will only match CONNECT or CONNECT-UDP requests. Note that this will not match other Extended CONNECT requests (WebSocket and the like) as they are normalized in Envoy as HTTP/1.1 style upgrades. This is the only way to match CONNECT requests for HTTP/1.1. For HTTP/2 and HTTP/3, where Extended CONNECT requests may have a path, the path matchers will work if there is a path present. Note that CONNECT support is currently considered alpha in Envoy. [#comment: TODO(htuch): Replace the above comment with an alpha tag.]
.envoy.config.route.v3.RouteMatch.ConnectMatcher connect_matcher = 12;
- Specified by:
getConnectMatcher
in interfaceRouteMatchOrBuilder
- Returns:
- The connectMatcher.
-
getConnectMatcherOrBuilder
If this is used as the matcher, the matcher will only match CONNECT or CONNECT-UDP requests. Note that this will not match other Extended CONNECT requests (WebSocket and the like) as they are normalized in Envoy as HTTP/1.1 style upgrades. This is the only way to match CONNECT requests for HTTP/1.1. For HTTP/2 and HTTP/3, where Extended CONNECT requests may have a path, the path matchers will work if there is a path present. Note that CONNECT support is currently considered alpha in Envoy. [#comment: TODO(htuch): Replace the above comment with an alpha tag.]
.envoy.config.route.v3.RouteMatch.ConnectMatcher connect_matcher = 12;
- Specified by:
getConnectMatcherOrBuilder
in interfaceRouteMatchOrBuilder
-
hasPathSeparatedPrefix
public boolean hasPathSeparatedPrefix()If specified, the route is a path-separated prefix rule meaning that the ``:path`` header (without the query string) must either exactly match the ``path_separated_prefix`` or have it as a prefix, followed by ``/`` For example, ``/api/dev`` would match ``/api/dev``, ``/api/dev/``, ``/api/dev/v1``, and ``/api/dev?param=true`` but would not match ``/api/developer`` Expect the value to not contain ``?`` or ``#`` and not to end in ``/``
string path_separated_prefix = 14 [(.validate.rules) = { ... }
- Specified by:
hasPathSeparatedPrefix
in interfaceRouteMatchOrBuilder
- Returns:
- Whether the pathSeparatedPrefix field is set.
-
getPathSeparatedPrefix
If specified, the route is a path-separated prefix rule meaning that the ``:path`` header (without the query string) must either exactly match the ``path_separated_prefix`` or have it as a prefix, followed by ``/`` For example, ``/api/dev`` would match ``/api/dev``, ``/api/dev/``, ``/api/dev/v1``, and ``/api/dev?param=true`` but would not match ``/api/developer`` Expect the value to not contain ``?`` or ``#`` and not to end in ``/``
string path_separated_prefix = 14 [(.validate.rules) = { ... }
- Specified by:
getPathSeparatedPrefix
in interfaceRouteMatchOrBuilder
- Returns:
- The pathSeparatedPrefix.
-
getPathSeparatedPrefixBytes
public com.google.protobuf.ByteString getPathSeparatedPrefixBytes()If specified, the route is a path-separated prefix rule meaning that the ``:path`` header (without the query string) must either exactly match the ``path_separated_prefix`` or have it as a prefix, followed by ``/`` For example, ``/api/dev`` would match ``/api/dev``, ``/api/dev/``, ``/api/dev/v1``, and ``/api/dev?param=true`` but would not match ``/api/developer`` Expect the value to not contain ``?`` or ``#`` and not to end in ``/``
string path_separated_prefix = 14 [(.validate.rules) = { ... }
- Specified by:
getPathSeparatedPrefixBytes
in interfaceRouteMatchOrBuilder
- Returns:
- The bytes for pathSeparatedPrefix.
-
hasPathMatchPolicy
public boolean hasPathMatchPolicy()[#extension-category: envoy.path.match]
.envoy.config.core.v3.TypedExtensionConfig path_match_policy = 15;
- Specified by:
hasPathMatchPolicy
in interfaceRouteMatchOrBuilder
- Returns:
- Whether the pathMatchPolicy field is set.
-
getPathMatchPolicy
[#extension-category: envoy.path.match]
.envoy.config.core.v3.TypedExtensionConfig path_match_policy = 15;
- Specified by:
getPathMatchPolicy
in interfaceRouteMatchOrBuilder
- Returns:
- The pathMatchPolicy.
-
getPathMatchPolicyOrBuilder
[#extension-category: envoy.path.match]
.envoy.config.core.v3.TypedExtensionConfig path_match_policy = 15;
- Specified by:
getPathMatchPolicyOrBuilder
in interfaceRouteMatchOrBuilder
-
hasCaseSensitive
public boolean hasCaseSensitive()Indicates that prefix/path matching should be case sensitive. The default is true. Ignored for safe_regex matching.
.google.protobuf.BoolValue case_sensitive = 4;
- Specified by:
hasCaseSensitive
in interfaceRouteMatchOrBuilder
- Returns:
- Whether the caseSensitive field is set.
-
getCaseSensitive
public com.google.protobuf.BoolValue getCaseSensitive()Indicates that prefix/path matching should be case sensitive. The default is true. Ignored for safe_regex matching.
.google.protobuf.BoolValue case_sensitive = 4;
- Specified by:
getCaseSensitive
in interfaceRouteMatchOrBuilder
- Returns:
- The caseSensitive.
-
getCaseSensitiveOrBuilder
public com.google.protobuf.BoolValueOrBuilder getCaseSensitiveOrBuilder()Indicates that prefix/path matching should be case sensitive. The default is true. Ignored for safe_regex matching.
.google.protobuf.BoolValue case_sensitive = 4;
- Specified by:
getCaseSensitiveOrBuilder
in interfaceRouteMatchOrBuilder
-
hasRuntimeFraction
public boolean hasRuntimeFraction()Indicates that the route should additionally match on a runtime key. Every time the route is considered for a match, it must also fall under the percentage of matches indicated by this field. For some fraction N/D, a random number in the range [0,D) is selected. If the number is <= the value of the numerator N, or if the key is not present, the default value, the router continues to evaluate the remaining match criteria. A runtime_fraction route configuration can be used to roll out route changes in a gradual manner without full code/config deploys. Refer to the :ref:`traffic shifting <config_http_conn_man_route_table_traffic_splitting_shift>` docs for additional documentation. .. note:: Parsing this field is implemented such that the runtime key's data may be represented as a FractionalPercent proto represented as JSON/YAML and may also be represented as an integer with the assumption that the value is an integral percentage out of 100. For instance, a runtime key lookup returning the value "42" would parse as a FractionalPercent whose numerator is 42 and denominator is HUNDRED. This preserves legacy semantics.
.envoy.config.core.v3.RuntimeFractionalPercent runtime_fraction = 9;
- Specified by:
hasRuntimeFraction
in interfaceRouteMatchOrBuilder
- Returns:
- Whether the runtimeFraction field is set.
-
getRuntimeFraction
Indicates that the route should additionally match on a runtime key. Every time the route is considered for a match, it must also fall under the percentage of matches indicated by this field. For some fraction N/D, a random number in the range [0,D) is selected. If the number is <= the value of the numerator N, or if the key is not present, the default value, the router continues to evaluate the remaining match criteria. A runtime_fraction route configuration can be used to roll out route changes in a gradual manner without full code/config deploys. Refer to the :ref:`traffic shifting <config_http_conn_man_route_table_traffic_splitting_shift>` docs for additional documentation. .. note:: Parsing this field is implemented such that the runtime key's data may be represented as a FractionalPercent proto represented as JSON/YAML and may also be represented as an integer with the assumption that the value is an integral percentage out of 100. For instance, a runtime key lookup returning the value "42" would parse as a FractionalPercent whose numerator is 42 and denominator is HUNDRED. This preserves legacy semantics.
.envoy.config.core.v3.RuntimeFractionalPercent runtime_fraction = 9;
- Specified by:
getRuntimeFraction
in interfaceRouteMatchOrBuilder
- Returns:
- The runtimeFraction.
-
getRuntimeFractionOrBuilder
Indicates that the route should additionally match on a runtime key. Every time the route is considered for a match, it must also fall under the percentage of matches indicated by this field. For some fraction N/D, a random number in the range [0,D) is selected. If the number is <= the value of the numerator N, or if the key is not present, the default value, the router continues to evaluate the remaining match criteria. A runtime_fraction route configuration can be used to roll out route changes in a gradual manner without full code/config deploys. Refer to the :ref:`traffic shifting <config_http_conn_man_route_table_traffic_splitting_shift>` docs for additional documentation. .. note:: Parsing this field is implemented such that the runtime key's data may be represented as a FractionalPercent proto represented as JSON/YAML and may also be represented as an integer with the assumption that the value is an integral percentage out of 100. For instance, a runtime key lookup returning the value "42" would parse as a FractionalPercent whose numerator is 42 and denominator is HUNDRED. This preserves legacy semantics.
.envoy.config.core.v3.RuntimeFractionalPercent runtime_fraction = 9;
- Specified by:
getRuntimeFractionOrBuilder
in interfaceRouteMatchOrBuilder
-
getHeadersList
Specifies a set of headers that the route should match on. The router will check the request’s headers against all the specified headers in the route config. A match will happen if all the headers in the route are present in the request with the same values (or based on presence if the value field is not in the config).
repeated .envoy.config.route.v3.HeaderMatcher headers = 6;
- Specified by:
getHeadersList
in interfaceRouteMatchOrBuilder
-
getHeadersOrBuilderList
Specifies a set of headers that the route should match on. The router will check the request’s headers against all the specified headers in the route config. A match will happen if all the headers in the route are present in the request with the same values (or based on presence if the value field is not in the config).
repeated .envoy.config.route.v3.HeaderMatcher headers = 6;
- Specified by:
getHeadersOrBuilderList
in interfaceRouteMatchOrBuilder
-
getHeadersCount
public int getHeadersCount()Specifies a set of headers that the route should match on. The router will check the request’s headers against all the specified headers in the route config. A match will happen if all the headers in the route are present in the request with the same values (or based on presence if the value field is not in the config).
repeated .envoy.config.route.v3.HeaderMatcher headers = 6;
- Specified by:
getHeadersCount
in interfaceRouteMatchOrBuilder
-
getHeaders
Specifies a set of headers that the route should match on. The router will check the request’s headers against all the specified headers in the route config. A match will happen if all the headers in the route are present in the request with the same values (or based on presence if the value field is not in the config).
repeated .envoy.config.route.v3.HeaderMatcher headers = 6;
- Specified by:
getHeaders
in interfaceRouteMatchOrBuilder
-
getHeadersOrBuilder
Specifies a set of headers that the route should match on. The router will check the request’s headers against all the specified headers in the route config. A match will happen if all the headers in the route are present in the request with the same values (or based on presence if the value field is not in the config).
repeated .envoy.config.route.v3.HeaderMatcher headers = 6;
- Specified by:
getHeadersOrBuilder
in interfaceRouteMatchOrBuilder
-
getQueryParametersList
Specifies a set of URL query parameters on which the route should match. The router will check the query string from the ``path`` header against all the specified query parameters. If the number of specified query parameters is nonzero, they all must match the ``path`` header's query string for a match to occur. In the event query parameters are repeated, only the first value for each key will be considered. .. note:: If query parameters are used to pass request message fields when `grpc_json_transcoder <https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/grpc_json_transcoder_filter>`_ is used, the transcoded message fields maybe different. The query parameters are url encoded, but the message fields are not. For example, if a query parameter is "foo%20bar", the message field will be "foo bar".
repeated .envoy.config.route.v3.QueryParameterMatcher query_parameters = 7;
- Specified by:
getQueryParametersList
in interfaceRouteMatchOrBuilder
-
getQueryParametersOrBuilderList
Specifies a set of URL query parameters on which the route should match. The router will check the query string from the ``path`` header against all the specified query parameters. If the number of specified query parameters is nonzero, they all must match the ``path`` header's query string for a match to occur. In the event query parameters are repeated, only the first value for each key will be considered. .. note:: If query parameters are used to pass request message fields when `grpc_json_transcoder <https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/grpc_json_transcoder_filter>`_ is used, the transcoded message fields maybe different. The query parameters are url encoded, but the message fields are not. For example, if a query parameter is "foo%20bar", the message field will be "foo bar".
repeated .envoy.config.route.v3.QueryParameterMatcher query_parameters = 7;
- Specified by:
getQueryParametersOrBuilderList
in interfaceRouteMatchOrBuilder
-
getQueryParametersCount
public int getQueryParametersCount()Specifies a set of URL query parameters on which the route should match. The router will check the query string from the ``path`` header against all the specified query parameters. If the number of specified query parameters is nonzero, they all must match the ``path`` header's query string for a match to occur. In the event query parameters are repeated, only the first value for each key will be considered. .. note:: If query parameters are used to pass request message fields when `grpc_json_transcoder <https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/grpc_json_transcoder_filter>`_ is used, the transcoded message fields maybe different. The query parameters are url encoded, but the message fields are not. For example, if a query parameter is "foo%20bar", the message field will be "foo bar".
repeated .envoy.config.route.v3.QueryParameterMatcher query_parameters = 7;
- Specified by:
getQueryParametersCount
in interfaceRouteMatchOrBuilder
-
getQueryParameters
Specifies a set of URL query parameters on which the route should match. The router will check the query string from the ``path`` header against all the specified query parameters. If the number of specified query parameters is nonzero, they all must match the ``path`` header's query string for a match to occur. In the event query parameters are repeated, only the first value for each key will be considered. .. note:: If query parameters are used to pass request message fields when `grpc_json_transcoder <https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/grpc_json_transcoder_filter>`_ is used, the transcoded message fields maybe different. The query parameters are url encoded, but the message fields are not. For example, if a query parameter is "foo%20bar", the message field will be "foo bar".
repeated .envoy.config.route.v3.QueryParameterMatcher query_parameters = 7;
- Specified by:
getQueryParameters
in interfaceRouteMatchOrBuilder
-
getQueryParametersOrBuilder
Specifies a set of URL query parameters on which the route should match. The router will check the query string from the ``path`` header against all the specified query parameters. If the number of specified query parameters is nonzero, they all must match the ``path`` header's query string for a match to occur. In the event query parameters are repeated, only the first value for each key will be considered. .. note:: If query parameters are used to pass request message fields when `grpc_json_transcoder <https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/grpc_json_transcoder_filter>`_ is used, the transcoded message fields maybe different. The query parameters are url encoded, but the message fields are not. For example, if a query parameter is "foo%20bar", the message field will be "foo bar".
repeated .envoy.config.route.v3.QueryParameterMatcher query_parameters = 7;
- Specified by:
getQueryParametersOrBuilder
in interfaceRouteMatchOrBuilder
-
hasGrpc
public boolean hasGrpc()If specified, only gRPC requests will be matched. The router will check that the content-type header has a application/grpc or one of the various application/grpc+ values.
.envoy.config.route.v3.RouteMatch.GrpcRouteMatchOptions grpc = 8;
- Specified by:
hasGrpc
in interfaceRouteMatchOrBuilder
- Returns:
- Whether the grpc field is set.
-
getGrpc
If specified, only gRPC requests will be matched. The router will check that the content-type header has a application/grpc or one of the various application/grpc+ values.
.envoy.config.route.v3.RouteMatch.GrpcRouteMatchOptions grpc = 8;
- Specified by:
getGrpc
in interfaceRouteMatchOrBuilder
- Returns:
- The grpc.
-
getGrpcOrBuilder
If specified, only gRPC requests will be matched. The router will check that the content-type header has a application/grpc or one of the various application/grpc+ values.
.envoy.config.route.v3.RouteMatch.GrpcRouteMatchOptions grpc = 8;
- Specified by:
getGrpcOrBuilder
in interfaceRouteMatchOrBuilder
-
hasTlsContext
public boolean hasTlsContext()If specified, the client tls context will be matched against the defined match options. [#next-major-version: unify with RBAC]
.envoy.config.route.v3.RouteMatch.TlsContextMatchOptions tls_context = 11;
- Specified by:
hasTlsContext
in interfaceRouteMatchOrBuilder
- Returns:
- Whether the tlsContext field is set.
-
getTlsContext
If specified, the client tls context will be matched against the defined match options. [#next-major-version: unify with RBAC]
.envoy.config.route.v3.RouteMatch.TlsContextMatchOptions tls_context = 11;
- Specified by:
getTlsContext
in interfaceRouteMatchOrBuilder
- Returns:
- The tlsContext.
-
getTlsContextOrBuilder
If specified, the client tls context will be matched against the defined match options. [#next-major-version: unify with RBAC]
.envoy.config.route.v3.RouteMatch.TlsContextMatchOptions tls_context = 11;
- Specified by:
getTlsContextOrBuilder
in interfaceRouteMatchOrBuilder
-
getDynamicMetadataList
Specifies a set of dynamic metadata matchers on which the route should match. The router will check the dynamic metadata against all the specified dynamic metadata matchers. If the number of specified dynamic metadata matchers is nonzero, they all must match the dynamic metadata for a match to occur.
repeated .envoy.type.matcher.v3.MetadataMatcher dynamic_metadata = 13;
- Specified by:
getDynamicMetadataList
in interfaceRouteMatchOrBuilder
-
getDynamicMetadataOrBuilderList
Specifies a set of dynamic metadata matchers on which the route should match. The router will check the dynamic metadata against all the specified dynamic metadata matchers. If the number of specified dynamic metadata matchers is nonzero, they all must match the dynamic metadata for a match to occur.
repeated .envoy.type.matcher.v3.MetadataMatcher dynamic_metadata = 13;
- Specified by:
getDynamicMetadataOrBuilderList
in interfaceRouteMatchOrBuilder
-
getDynamicMetadataCount
public int getDynamicMetadataCount()Specifies a set of dynamic metadata matchers on which the route should match. The router will check the dynamic metadata against all the specified dynamic metadata matchers. If the number of specified dynamic metadata matchers is nonzero, they all must match the dynamic metadata for a match to occur.
repeated .envoy.type.matcher.v3.MetadataMatcher dynamic_metadata = 13;
- Specified by:
getDynamicMetadataCount
in interfaceRouteMatchOrBuilder
-
getDynamicMetadata
Specifies a set of dynamic metadata matchers on which the route should match. The router will check the dynamic metadata against all the specified dynamic metadata matchers. If the number of specified dynamic metadata matchers is nonzero, they all must match the dynamic metadata for a match to occur.
repeated .envoy.type.matcher.v3.MetadataMatcher dynamic_metadata = 13;
- Specified by:
getDynamicMetadata
in interfaceRouteMatchOrBuilder
-
getDynamicMetadataOrBuilder
Specifies a set of dynamic metadata matchers on which the route should match. The router will check the dynamic metadata against all the specified dynamic metadata matchers. If the number of specified dynamic metadata matchers is nonzero, they all must match the dynamic metadata for a match to occur.
repeated .envoy.type.matcher.v3.MetadataMatcher dynamic_metadata = 13;
- Specified by:
getDynamicMetadataOrBuilder
in interfaceRouteMatchOrBuilder
-
isInitialized
public final boolean isInitialized()- Specified by:
isInitialized
in interfacecom.google.protobuf.MessageLiteOrBuilder
- Overrides:
isInitialized
in classcom.google.protobuf.GeneratedMessage
-
writeTo
- Specified by:
writeTo
in interfacecom.google.protobuf.MessageLite
- Overrides:
writeTo
in classcom.google.protobuf.GeneratedMessage
- Throws:
IOException
-
getSerializedSize
public int getSerializedSize()- Specified by:
getSerializedSize
in interfacecom.google.protobuf.MessageLite
- Overrides:
getSerializedSize
in classcom.google.protobuf.GeneratedMessage
-
equals
- Specified by:
equals
in interfacecom.google.protobuf.Message
- Overrides:
equals
in classcom.google.protobuf.AbstractMessage
-
hashCode
public int hashCode()- Specified by:
hashCode
in interfacecom.google.protobuf.Message
- Overrides:
hashCode
in classcom.google.protobuf.AbstractMessage
-
parseFrom
public static RouteMatch parseFrom(ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static RouteMatch parseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static RouteMatch parseFrom(com.google.protobuf.ByteString data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static RouteMatch parseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static RouteMatch parseFrom(byte[] data) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static RouteMatch parseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws com.google.protobuf.InvalidProtocolBufferException - Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
- Throws:
IOException
-
parseFrom
public static RouteMatch parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
parseDelimitedFrom
- Throws:
IOException
-
parseDelimitedFrom
public static RouteMatch parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
parseFrom
- Throws:
IOException
-
parseFrom
public static RouteMatch parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Throws:
IOException
-
newBuilderForType
- Specified by:
newBuilderForType
in interfacecom.google.protobuf.Message
- Specified by:
newBuilderForType
in interfacecom.google.protobuf.MessageLite
-
newBuilder
-
newBuilder
-
toBuilder
- Specified by:
toBuilder
in interfacecom.google.protobuf.Message
- Specified by:
toBuilder
in interfacecom.google.protobuf.MessageLite
-
newBuilderForType
protected RouteMatch.Builder newBuilderForType(com.google.protobuf.AbstractMessage.BuilderParent parent) - Overrides:
newBuilderForType
in classcom.google.protobuf.AbstractMessage
-
getDefaultInstance
-
parser
-
getParserForType
- Specified by:
getParserForType
in interfacecom.google.protobuf.Message
- Specified by:
getParserForType
in interfacecom.google.protobuf.MessageLite
- Overrides:
getParserForType
in classcom.google.protobuf.GeneratedMessage
-
getDefaultInstanceForType
- Specified by:
getDefaultInstanceForType
in interfacecom.google.protobuf.MessageLiteOrBuilder
- Specified by:
getDefaultInstanceForType
in interfacecom.google.protobuf.MessageOrBuilder
-