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
,java.io.Serializable
public final class RouteMatch extends com.google.protobuf.GeneratedMessage implements RouteMatchOrBuilder
[#next-free-field: 16]
Protobuf typeenvoy.config.route.v3.RouteMatch
- See Also:
- Serialized Form
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static class
RouteMatch.Builder
[#next-free-field: 16]static class
RouteMatch.ConnectMatcher
An extensible message for matching CONNECT or CONNECT-UDP requests.static interface
RouteMatch.ConnectMatcherOrBuilder
static class
RouteMatch.GrpcRouteMatchOptions
Protobuf typeenvoy.config.route.v3.RouteMatch.GrpcRouteMatchOptions
static interface
RouteMatch.GrpcRouteMatchOptionsOrBuilder
static class
RouteMatch.PathSpecifierCase
static class
RouteMatch.TlsContextMatchOptions
Protobuf typeenvoy.config.route.v3.RouteMatch.TlsContextMatchOptions
static interface
RouteMatch.TlsContextMatchOptionsOrBuilder
-
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 extends java.lang.Object>, com.google.protobuf.GeneratedMessage.UnusedPrivateParameter
-
-
Field Summary
-
Constructor Summary
Constructors Modifier Constructor Description private
RouteMatch()
private
RouteMatch(com.google.protobuf.GeneratedMessage.Builder<?> builder)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description boolean
equals(java.lang.Object obj)
com.google.protobuf.BoolValue
getCaseSensitive()
Indicates that prefix/path matching should be case sensitive.com.google.protobuf.BoolValueOrBuilder
getCaseSensitiveOrBuilder()
Indicates that prefix/path matching should be case sensitive.RouteMatch.ConnectMatcher
getConnectMatcher()
If this is used as the matcher, the matcher will only match CONNECT or CONNECT-UDP requests.RouteMatch.ConnectMatcherOrBuilder
getConnectMatcherOrBuilder()
If this is used as the matcher, the matcher will only match CONNECT or CONNECT-UDP requests.static RouteMatch
getDefaultInstance()
RouteMatch
getDefaultInstanceForType()
static com.google.protobuf.Descriptors.Descriptor
getDescriptor()
MetadataMatcher
getDynamicMetadata(int index)
Specifies a set of dynamic metadata matchers on which the route should match.int
getDynamicMetadataCount()
Specifies a set of dynamic metadata matchers on which the route should match.java.util.List<MetadataMatcher>
getDynamicMetadataList()
Specifies a set of dynamic metadata matchers on which the route should match.MetadataMatcherOrBuilder
getDynamicMetadataOrBuilder(int index)
Specifies a set of dynamic metadata matchers on which the route should match.java.util.List<? extends MetadataMatcherOrBuilder>
getDynamicMetadataOrBuilderList()
Specifies a set of dynamic metadata matchers on which the route should match.RouteMatch.GrpcRouteMatchOptions
getGrpc()
If specified, only gRPC requests will be matched.RouteMatch.GrpcRouteMatchOptionsOrBuilder
getGrpcOrBuilder()
If specified, only gRPC requests will be matched.HeaderMatcher
getHeaders(int index)
Specifies a set of headers that the route should match on.int
getHeadersCount()
Specifies a set of headers that the route should match on.java.util.List<HeaderMatcher>
getHeadersList()
Specifies a set of headers that the route should match on.HeaderMatcherOrBuilder
getHeadersOrBuilder(int index)
Specifies a set of headers that the route should match on.java.util.List<? extends HeaderMatcherOrBuilder>
getHeadersOrBuilderList()
Specifies a set of headers that the route should match on.com.google.protobuf.Parser<RouteMatch>
getParserForType()
java.lang.String
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
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.TypedExtensionConfig
getPathMatchPolicy()
[#extension-category: envoy.path.match]TypedExtensionConfigOrBuilder
getPathMatchPolicyOrBuilder()
[#extension-category: envoy.path.match]java.lang.String
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 ``/``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 ``/``RouteMatch.PathSpecifierCase
getPathSpecifierCase()
java.lang.String
getPrefix()
If specified, the route is a prefix rule meaning that the prefix must match the beginning of the ``:path`` header.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.QueryParameterMatcher
getQueryParameters(int index)
Specifies a set of URL query parameters on which the route should match.int
getQueryParametersCount()
Specifies a set of URL query parameters on which the route should match.java.util.List<QueryParameterMatcher>
getQueryParametersList()
Specifies a set of URL query parameters on which the route should match.QueryParameterMatcherOrBuilder
getQueryParametersOrBuilder(int index)
Specifies a set of URL query parameters on which the route should match.java.util.List<? extends QueryParameterMatcherOrBuilder>
getQueryParametersOrBuilderList()
Specifies a set of URL query parameters on which the route should match.RuntimeFractionalPercent
getRuntimeFraction()
Indicates that the route should additionally match on a runtime key.RuntimeFractionalPercentOrBuilder
getRuntimeFractionOrBuilder()
Indicates that the route should additionally match on a runtime key.RegexMatcher
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.RegexMatcherOrBuilder
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.int
getSerializedSize()
RouteMatch.TlsContextMatchOptions
getTlsContext()
If specified, the client tls context will be matched against the defined match options.RouteMatch.TlsContextMatchOptionsOrBuilder
getTlsContextOrBuilder()
If specified, the client tls context will be matched against the defined match options.boolean
hasCaseSensitive()
Indicates that prefix/path matching should be case sensitive.boolean
hasConnectMatcher()
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
hasPathMatchPolicy()
[#extension-category: envoy.path.match]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 ``/``boolean
hasPrefix()
If specified, the route is a prefix rule meaning that the prefix must match the beginning of the ``:path`` header.boolean
hasRuntimeFraction()
Indicates that the route should additionally match on a runtime key.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.boolean
hasTlsContext()
If specified, the client tls context will be matched against the defined match options.protected com.google.protobuf.GeneratedMessage.FieldAccessorTable
internalGetFieldAccessorTable()
boolean
isInitialized()
static RouteMatch.Builder
newBuilder()
static RouteMatch.Builder
newBuilder(RouteMatch prototype)
RouteMatch.Builder
newBuilderForType()
protected RouteMatch.Builder
newBuilderForType(com.google.protobuf.AbstractMessage.BuilderParent parent)
static RouteMatch
parseDelimitedFrom(java.io.InputStream input)
static RouteMatch
parseDelimitedFrom(java.io.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(java.io.InputStream input)
static RouteMatch
parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static RouteMatch
parseFrom(java.nio.ByteBuffer data)
static RouteMatch
parseFrom(java.nio.ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)
static com.google.protobuf.Parser<RouteMatch>
parser()
RouteMatch.Builder
toBuilder()
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
-
-
-
-
Field Detail
-
serialVersionUID
private static final long serialVersionUID
- See Also:
- Constant Field Values
-
bitField0_
private int bitField0_
-
pathSpecifierCase_
private int pathSpecifierCase_
-
pathSpecifier_
private java.lang.Object pathSpecifier_
-
PREFIX_FIELD_NUMBER
public static final int PREFIX_FIELD_NUMBER
- See Also:
- Constant Field Values
-
PATH_FIELD_NUMBER
public static final int PATH_FIELD_NUMBER
- See Also:
- Constant Field Values
-
SAFE_REGEX_FIELD_NUMBER
public static final int SAFE_REGEX_FIELD_NUMBER
- See Also:
- Constant Field Values
-
CONNECT_MATCHER_FIELD_NUMBER
public static final int CONNECT_MATCHER_FIELD_NUMBER
- See Also:
- Constant Field Values
-
PATH_SEPARATED_PREFIX_FIELD_NUMBER
public static final int PATH_SEPARATED_PREFIX_FIELD_NUMBER
- See Also:
- Constant Field Values
-
PATH_MATCH_POLICY_FIELD_NUMBER
public static final int PATH_MATCH_POLICY_FIELD_NUMBER
- See Also:
- Constant Field Values
-
CASE_SENSITIVE_FIELD_NUMBER
public static final int CASE_SENSITIVE_FIELD_NUMBER
- See Also:
- Constant Field Values
-
caseSensitive_
private com.google.protobuf.BoolValue caseSensitive_
-
RUNTIME_FRACTION_FIELD_NUMBER
public static final int RUNTIME_FRACTION_FIELD_NUMBER
- See Also:
- Constant Field Values
-
runtimeFraction_
private RuntimeFractionalPercent runtimeFraction_
-
HEADERS_FIELD_NUMBER
public static final int HEADERS_FIELD_NUMBER
- See Also:
- Constant Field Values
-
headers_
private java.util.List<HeaderMatcher> headers_
-
QUERY_PARAMETERS_FIELD_NUMBER
public static final int QUERY_PARAMETERS_FIELD_NUMBER
- See Also:
- Constant Field Values
-
queryParameters_
private java.util.List<QueryParameterMatcher> queryParameters_
-
GRPC_FIELD_NUMBER
public static final int GRPC_FIELD_NUMBER
- See Also:
- Constant Field Values
-
grpc_
private RouteMatch.GrpcRouteMatchOptions grpc_
-
TLS_CONTEXT_FIELD_NUMBER
public static final int TLS_CONTEXT_FIELD_NUMBER
- See Also:
- Constant Field Values
-
tlsContext_
private RouteMatch.TlsContextMatchOptions tlsContext_
-
DYNAMIC_METADATA_FIELD_NUMBER
public static final int DYNAMIC_METADATA_FIELD_NUMBER
- See Also:
- Constant Field Values
-
dynamicMetadata_
private java.util.List<MetadataMatcher> dynamicMetadata_
-
memoizedIsInitialized
private byte memoizedIsInitialized
-
DEFAULT_INSTANCE
private static final RouteMatch DEFAULT_INSTANCE
-
PARSER
private static final com.google.protobuf.Parser<RouteMatch> PARSER
-
-
Method Detail
-
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
public RouteMatch.PathSpecifierCase 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
public java.lang.String 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
public java.lang.String 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
public RegexMatcher 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
public RegexMatcherOrBuilder 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
public RouteMatch.ConnectMatcher 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
public RouteMatch.ConnectMatcherOrBuilder 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
public java.lang.String 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
public TypedExtensionConfig getPathMatchPolicy()
[#extension-category: envoy.path.match]
.envoy.config.core.v3.TypedExtensionConfig path_match_policy = 15;
- Specified by:
getPathMatchPolicy
in interfaceRouteMatchOrBuilder
- Returns:
- The pathMatchPolicy.
-
getPathMatchPolicyOrBuilder
public TypedExtensionConfigOrBuilder 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
public RuntimeFractionalPercent 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
public RuntimeFractionalPercentOrBuilder 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
public java.util.List<HeaderMatcher> 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
public java.util.List<? extends HeaderMatcherOrBuilder> 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
public HeaderMatcher getHeaders(int index)
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
public HeaderMatcherOrBuilder getHeadersOrBuilder(int index)
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
public java.util.List<QueryParameterMatcher> 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
public java.util.List<? extends QueryParameterMatcherOrBuilder> 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
public QueryParameterMatcher getQueryParameters(int index)
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
public QueryParameterMatcherOrBuilder getQueryParametersOrBuilder(int index)
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
public RouteMatch.GrpcRouteMatchOptions 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
public RouteMatch.GrpcRouteMatchOptionsOrBuilder 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
public RouteMatch.TlsContextMatchOptions 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
public RouteMatch.TlsContextMatchOptionsOrBuilder 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
public java.util.List<MetadataMatcher> 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
public java.util.List<? extends MetadataMatcherOrBuilder> 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
public MetadataMatcher getDynamicMetadata(int index)
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
public MetadataMatcherOrBuilder getDynamicMetadataOrBuilder(int index)
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
public void writeTo(com.google.protobuf.CodedOutputStream output) throws java.io.IOException
- Specified by:
writeTo
in interfacecom.google.protobuf.MessageLite
- Overrides:
writeTo
in classcom.google.protobuf.GeneratedMessage
- Throws:
java.io.IOException
-
getSerializedSize
public int getSerializedSize()
- Specified by:
getSerializedSize
in interfacecom.google.protobuf.MessageLite
- Overrides:
getSerializedSize
in classcom.google.protobuf.GeneratedMessage
-
equals
public boolean equals(java.lang.Object obj)
- 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(java.nio.ByteBuffer data) throws com.google.protobuf.InvalidProtocolBufferException
- Throws:
com.google.protobuf.InvalidProtocolBufferException
-
parseFrom
public static RouteMatch parseFrom(java.nio.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
public static RouteMatch parseFrom(java.io.InputStream input) throws java.io.IOException
- Throws:
java.io.IOException
-
parseFrom
public static RouteMatch parseFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException
- Throws:
java.io.IOException
-
parseDelimitedFrom
public static RouteMatch parseDelimitedFrom(java.io.InputStream input) throws java.io.IOException
- Throws:
java.io.IOException
-
parseDelimitedFrom
public static RouteMatch parseDelimitedFrom(java.io.InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException
- Throws:
java.io.IOException
-
parseFrom
public static RouteMatch parseFrom(com.google.protobuf.CodedInputStream input) throws java.io.IOException
- Throws:
java.io.IOException
-
parseFrom
public static RouteMatch parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws java.io.IOException
- Throws:
java.io.IOException
-
newBuilderForType
public RouteMatch.Builder newBuilderForType()
- Specified by:
newBuilderForType
in interfacecom.google.protobuf.Message
- Specified by:
newBuilderForType
in interfacecom.google.protobuf.MessageLite
-
newBuilder
public static RouteMatch.Builder newBuilder()
-
newBuilder
public static RouteMatch.Builder newBuilder(RouteMatch prototype)
-
toBuilder
public RouteMatch.Builder 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
public static RouteMatch getDefaultInstance()
-
parser
public static com.google.protobuf.Parser<RouteMatch> parser()
-
getParserForType
public com.google.protobuf.Parser<RouteMatch> 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
public RouteMatch getDefaultInstanceForType()
- Specified by:
getDefaultInstanceForType
in interfacecom.google.protobuf.MessageLiteOrBuilder
- Specified by:
getDefaultInstanceForType
in interfacecom.google.protobuf.MessageOrBuilder
-
-