Class RouteMatch
- java.lang.Object
-
- com.google.protobuf.AbstractMessageLite
-
- com.google.protobuf.AbstractMessage
-
- com.google.protobuf.GeneratedMessageV3
-
- 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.GeneratedMessageV3 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 classRouteMatch.Builder[#next-free-field: 16]static classRouteMatch.ConnectMatcherAn extensible message for matching CONNECT requests.static interfaceRouteMatch.ConnectMatcherOrBuilderstatic classRouteMatch.GrpcRouteMatchOptionsProtobuf typeenvoy.config.route.v3.RouteMatch.GrpcRouteMatchOptionsstatic interfaceRouteMatch.GrpcRouteMatchOptionsOrBuilderstatic classRouteMatch.PathSpecifierCasestatic classRouteMatch.TlsContextMatchOptionsProtobuf typeenvoy.config.route.v3.RouteMatch.TlsContextMatchOptionsstatic interfaceRouteMatch.TlsContextMatchOptionsOrBuilder-
Nested classes/interfaces inherited from class com.google.protobuf.GeneratedMessageV3
com.google.protobuf.GeneratedMessageV3.BuilderParent, com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage,BuilderType extends com.google.protobuf.GeneratedMessageV3.ExtendableBuilder<MessageType,BuilderType>>, com.google.protobuf.GeneratedMessageV3.ExtendableMessage<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage>, com.google.protobuf.GeneratedMessageV3.ExtendableMessageOrBuilder<MessageType extends com.google.protobuf.GeneratedMessageV3.ExtendableMessage>, com.google.protobuf.GeneratedMessageV3.FieldAccessorTable, com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter
-
-
Field Summary
Fields Modifier and Type Field Description static intCASE_SENSITIVE_FIELD_NUMBERstatic intCONNECT_MATCHER_FIELD_NUMBERstatic intDYNAMIC_METADATA_FIELD_NUMBERstatic intGRPC_FIELD_NUMBERstatic intHEADERS_FIELD_NUMBERstatic intPATH_FIELD_NUMBERstatic intPATH_SEPARATED_PREFIX_FIELD_NUMBERstatic intPATH_TEMPLATE_FIELD_NUMBERstatic intPREFIX_FIELD_NUMBERstatic intQUERY_PARAMETERS_FIELD_NUMBERstatic intRUNTIME_FRACTION_FIELD_NUMBERstatic intSAFE_REGEX_FIELD_NUMBERstatic intTLS_CONTEXT_FIELD_NUMBER
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description booleanequals(Object obj)com.google.protobuf.BoolValuegetCaseSensitive()Indicates that prefix/path matching should be case sensitive.com.google.protobuf.BoolValueOrBuildergetCaseSensitiveOrBuilder()Indicates that prefix/path matching should be case sensitive.RouteMatch.ConnectMatchergetConnectMatcher()If this is used as the matcher, the matcher will only match CONNECT requests.RouteMatch.ConnectMatcherOrBuildergetConnectMatcherOrBuilder()If this is used as the matcher, the matcher will only match CONNECT requests.static RouteMatchgetDefaultInstance()RouteMatchgetDefaultInstanceForType()static com.google.protobuf.Descriptors.DescriptorgetDescriptor()MetadataMatchergetDynamicMetadata(int index)Specifies a set of dynamic metadata matchers on which the route should match.intgetDynamicMetadataCount()Specifies a set of dynamic metadata matchers on which the route should match.List<MetadataMatcher>getDynamicMetadataList()Specifies a set of dynamic metadata matchers on which the route should match.MetadataMatcherOrBuildergetDynamicMetadataOrBuilder(int index)Specifies a set of dynamic metadata matchers on which the route should match.List<? extends MetadataMatcherOrBuilder>getDynamicMetadataOrBuilderList()Specifies a set of dynamic metadata matchers on which the route should match.RouteMatch.GrpcRouteMatchOptionsgetGrpc()If specified, only gRPC requests will be matched.RouteMatch.GrpcRouteMatchOptionsOrBuildergetGrpcOrBuilder()If specified, only gRPC requests will be matched.HeaderMatchergetHeaders(int index)Specifies a set of headers that the route should match on.intgetHeadersCount()Specifies a set of headers that the route should match on.List<HeaderMatcher>getHeadersList()Specifies a set of headers that the route should match on.HeaderMatcherOrBuildergetHeadersOrBuilder(int index)Specifies a set of headers that the route should match on.List<? extends HeaderMatcherOrBuilder>getHeadersOrBuilderList()Specifies a set of headers that the route should match on.com.google.protobuf.Parser<RouteMatch>getParserForType()StringgetPath()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.ByteStringgetPathBytes()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.StringgetPathSeparatedPrefix()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?com.google.protobuf.ByteStringgetPathSeparatedPrefixBytes()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?RouteMatch.PathSpecifierCasegetPathSpecifierCase()StringgetPathTemplate()If specified, the route is a template match rule meaning that the ``:path`` header (without the query string) must match the given ``path_template`` pattern.com.google.protobuf.ByteStringgetPathTemplateBytes()If specified, the route is a template match rule meaning that the ``:path`` header (without the query string) must match the given ``path_template`` pattern.StringgetPrefix()If specified, the route is a prefix rule meaning that the prefix must match the beginning of the ``:path`` header.com.google.protobuf.ByteStringgetPrefixBytes()If specified, the route is a prefix rule meaning that the prefix must match the beginning of the ``:path`` header.QueryParameterMatchergetQueryParameters(int index)Specifies a set of URL query parameters on which the route should match.intgetQueryParametersCount()Specifies a set of URL query parameters on which the route should match.List<QueryParameterMatcher>getQueryParametersList()Specifies a set of URL query parameters on which the route should match.QueryParameterMatcherOrBuildergetQueryParametersOrBuilder(int index)Specifies a set of URL query parameters on which the route should match.List<? extends QueryParameterMatcherOrBuilder>getQueryParametersOrBuilderList()Specifies a set of URL query parameters on which the route should match.RuntimeFractionalPercentgetRuntimeFraction()Indicates that the route should additionally match on a runtime key.RuntimeFractionalPercentOrBuildergetRuntimeFractionOrBuilder()Indicates that the route should additionally match on a runtime key.RegexMatchergetSafeRegex()If specified, the route is a regular expression rule meaning that the regex must match the ``:path`` header once the query string is removed.RegexMatcherOrBuildergetSafeRegexOrBuilder()If specified, the route is a regular expression rule meaning that the regex must match the ``:path`` header once the query string is removed.intgetSerializedSize()RouteMatch.TlsContextMatchOptionsgetTlsContext()If specified, the client tls context will be matched against the defined match options.RouteMatch.TlsContextMatchOptionsOrBuildergetTlsContextOrBuilder()If specified, the client tls context will be matched against the defined match options.com.google.protobuf.UnknownFieldSetgetUnknownFields()booleanhasCaseSensitive()Indicates that prefix/path matching should be case sensitive.booleanhasConnectMatcher()If this is used as the matcher, the matcher will only match CONNECT requests.booleanhasGrpc()If specified, only gRPC requests will be matched.inthashCode()booleanhasPath()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.booleanhasPathSeparatedPrefix()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?booleanhasPathTemplate()If specified, the route is a template match rule meaning that the ``:path`` header (without the query string) must match the given ``path_template`` pattern.booleanhasPrefix()If specified, the route is a prefix rule meaning that the prefix must match the beginning of the ``:path`` header.booleanhasRuntimeFraction()Indicates that the route should additionally match on a runtime key.booleanhasSafeRegex()If specified, the route is a regular expression rule meaning that the regex must match the ``:path`` header once the query string is removed.booleanhasTlsContext()If specified, the client tls context will be matched against the defined match options.protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTableinternalGetFieldAccessorTable()booleanisInitialized()static RouteMatch.BuildernewBuilder()static RouteMatch.BuildernewBuilder(RouteMatch prototype)RouteMatch.BuildernewBuilderForType()protected RouteMatch.BuildernewBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)protected ObjectnewInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)static RouteMatchparseDelimitedFrom(InputStream input)static RouteMatchparseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)static RouteMatchparseFrom(byte[] data)static RouteMatchparseFrom(byte[] data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)static RouteMatchparseFrom(com.google.protobuf.ByteString data)static RouteMatchparseFrom(com.google.protobuf.ByteString data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)static RouteMatchparseFrom(com.google.protobuf.CodedInputStream input)static RouteMatchparseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)static RouteMatchparseFrom(InputStream input)static RouteMatchparseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry)static RouteMatchparseFrom(ByteBuffer data)static RouteMatchparseFrom(ByteBuffer data, com.google.protobuf.ExtensionRegistryLite extensionRegistry)static com.google.protobuf.Parser<RouteMatch>parser()RouteMatch.BuildertoBuilder()voidwriteTo(com.google.protobuf.CodedOutputStream output)-
Methods inherited from class com.google.protobuf.GeneratedMessageV3
canUseUnsafe, computeStringSize, computeStringSizeNoTag, emptyBooleanList, emptyDoubleList, emptyFloatList, emptyIntList, emptyLongList, getAllFields, getDescriptorForType, getField, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, hasField, hasOneof, internalGetMapField, isStringEmpty, makeExtensionsImmutable, mergeFromAndMakeImmutableInternal, mutableCopy, mutableCopy, mutableCopy, mutableCopy, mutableCopy, newBooleanList, newBuilderForType, newDoubleList, newFloatList, newIntList, newLongList, 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, hashBoolean, hashEnum, hashEnumList, hashFields, hashLong, toString
-
Methods inherited from class com.google.protobuf.AbstractMessageLite
addAll, addAll, checkByteStringIsUtf8, toByteArray, toByteString, writeDelimitedTo, writeTo
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
-
-
-
Field Detail
-
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_TEMPLATE_FIELD_NUMBER
public static final int PATH_TEMPLATE_FIELD_NUMBER
- See Also:
- Constant Field Values
-
CASE_SENSITIVE_FIELD_NUMBER
public static final int CASE_SENSITIVE_FIELD_NUMBER
- See Also:
- Constant Field Values
-
RUNTIME_FRACTION_FIELD_NUMBER
public static final int RUNTIME_FRACTION_FIELD_NUMBER
- See Also:
- Constant Field Values
-
HEADERS_FIELD_NUMBER
public static final int HEADERS_FIELD_NUMBER
- See Also:
- Constant Field Values
-
QUERY_PARAMETERS_FIELD_NUMBER
public static final int QUERY_PARAMETERS_FIELD_NUMBER
- See Also:
- Constant Field Values
-
GRPC_FIELD_NUMBER
public static final int GRPC_FIELD_NUMBER
- See Also:
- Constant Field Values
-
TLS_CONTEXT_FIELD_NUMBER
public static final int TLS_CONTEXT_FIELD_NUMBER
- See Also:
- Constant Field Values
-
DYNAMIC_METADATA_FIELD_NUMBER
public static final int DYNAMIC_METADATA_FIELD_NUMBER
- See Also:
- Constant Field Values
-
-
Method Detail
-
newInstance
protected Object newInstance(com.google.protobuf.GeneratedMessageV3.UnusedPrivateParameter unused)
- Overrides:
newInstancein classcom.google.protobuf.GeneratedMessageV3
-
getUnknownFields
public final com.google.protobuf.UnknownFieldSet getUnknownFields()
- Specified by:
getUnknownFieldsin interfacecom.google.protobuf.MessageOrBuilder- Overrides:
getUnknownFieldsin classcom.google.protobuf.GeneratedMessageV3
-
getDescriptor
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
-
internalGetFieldAccessorTable
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
- Specified by:
internalGetFieldAccessorTablein classcom.google.protobuf.GeneratedMessageV3
-
getPathSpecifierCase
public RouteMatch.PathSpecifierCase getPathSpecifierCase()
- Specified by:
getPathSpecifierCasein 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:
hasPrefixin interfaceRouteMatchOrBuilder- Returns:
- Whether the prefix field is set.
-
getPrefix
public 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:
getPrefixin 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:
getPrefixBytesin 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:
hasPathin interfaceRouteMatchOrBuilder- Returns:
- Whether the path field is set.
-
getPath
public 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:
getPathin 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:
getPathBytesin 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:
hasSafeRegexin 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:
getSafeRegexin 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:
getSafeRegexOrBuilderin interfaceRouteMatchOrBuilder
-
hasConnectMatcher
public boolean hasConnectMatcher()
If this is used as the matcher, the matcher will only match CONNECT requests. Note that this will not match HTTP/2 upgrade-style 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, 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:
hasConnectMatcherin 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 requests. Note that this will not match HTTP/2 upgrade-style 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, 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:
getConnectMatcherin interfaceRouteMatchOrBuilder- Returns:
- The connectMatcher.
-
getConnectMatcherOrBuilder
public RouteMatch.ConnectMatcherOrBuilder getConnectMatcherOrBuilder()
If this is used as the matcher, the matcher will only match CONNECT requests. Note that this will not match HTTP/2 upgrade-style 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, 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:
getConnectMatcherOrBuilderin 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:
hasPathSeparatedPrefixin interfaceRouteMatchOrBuilder- Returns:
- Whether the pathSeparatedPrefix field is set.
-
getPathSeparatedPrefix
public 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:
getPathSeparatedPrefixin 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:
getPathSeparatedPrefixBytesin interfaceRouteMatchOrBuilder- Returns:
- The bytes for pathSeparatedPrefix.
-
hasPathTemplate
public boolean hasPathTemplate()
If specified, the route is a template match rule meaning that the ``:path`` header (without the query string) must match the given ``path_template`` pattern. Path template matching types: * ``*`` : Matches a single path component, up to the next path separator: / * ``**`` : Matches zero or more path segments. If present, must be the last operator. * ``{name} or {name=*}`` : A named variable matching one path segment up to the next path separator: /. * ``{name=videos/*}`` : A named variable matching more than one path segment. The path component matching videos/* is captured as the named variable. * ``{name=**}`` : A named variable matching zero or more path segments. For example: * ``/videos/*/*/*.m4s`` would match ``videos/123414/hls/1080p5000_00001.m4s`` * ``/videos/{file}`` would match ``/videos/1080p5000_00001.m4s`` * ``/**.mpd`` would match ``/content/123/india/dash/55/manifest.mpd`` [#not-implemented-hide:]string path_template = 15 [(.validate.rules) = { ... }- Specified by:
hasPathTemplatein interfaceRouteMatchOrBuilder- Returns:
- Whether the pathTemplate field is set.
-
getPathTemplate
public String getPathTemplate()
If specified, the route is a template match rule meaning that the ``:path`` header (without the query string) must match the given ``path_template`` pattern. Path template matching types: * ``*`` : Matches a single path component, up to the next path separator: / * ``**`` : Matches zero or more path segments. If present, must be the last operator. * ``{name} or {name=*}`` : A named variable matching one path segment up to the next path separator: /. * ``{name=videos/*}`` : A named variable matching more than one path segment. The path component matching videos/* is captured as the named variable. * ``{name=**}`` : A named variable matching zero or more path segments. For example: * ``/videos/*/*/*.m4s`` would match ``videos/123414/hls/1080p5000_00001.m4s`` * ``/videos/{file}`` would match ``/videos/1080p5000_00001.m4s`` * ``/**.mpd`` would match ``/content/123/india/dash/55/manifest.mpd`` [#not-implemented-hide:]string path_template = 15 [(.validate.rules) = { ... }- Specified by:
getPathTemplatein interfaceRouteMatchOrBuilder- Returns:
- The pathTemplate.
-
getPathTemplateBytes
public com.google.protobuf.ByteString getPathTemplateBytes()
If specified, the route is a template match rule meaning that the ``:path`` header (without the query string) must match the given ``path_template`` pattern. Path template matching types: * ``*`` : Matches a single path component, up to the next path separator: / * ``**`` : Matches zero or more path segments. If present, must be the last operator. * ``{name} or {name=*}`` : A named variable matching one path segment up to the next path separator: /. * ``{name=videos/*}`` : A named variable matching more than one path segment. The path component matching videos/* is captured as the named variable. * ``{name=**}`` : A named variable matching zero or more path segments. For example: * ``/videos/*/*/*.m4s`` would match ``videos/123414/hls/1080p5000_00001.m4s`` * ``/videos/{file}`` would match ``/videos/1080p5000_00001.m4s`` * ``/**.mpd`` would match ``/content/123/india/dash/55/manifest.mpd`` [#not-implemented-hide:]string path_template = 15 [(.validate.rules) = { ... }- Specified by:
getPathTemplateBytesin interfaceRouteMatchOrBuilder- Returns:
- The bytes for pathTemplate.
-
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:
hasCaseSensitivein 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:
getCaseSensitivein 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:
getCaseSensitiveOrBuilderin 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:
hasRuntimeFractionin 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:
getRuntimeFractionin 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:
getRuntimeFractionOrBuilderin interfaceRouteMatchOrBuilder
-
getHeadersList
public 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:
getHeadersListin interfaceRouteMatchOrBuilder
-
getHeadersOrBuilderList
public 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:
getHeadersOrBuilderListin 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:
getHeadersCountin 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:
getHeadersin 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:
getHeadersOrBuilderin interfaceRouteMatchOrBuilder
-
getQueryParametersList
public 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. .. 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:
getQueryParametersListin interfaceRouteMatchOrBuilder
-
getQueryParametersOrBuilderList
public 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. .. 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:
getQueryParametersOrBuilderListin 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. .. 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:
getQueryParametersCountin 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. .. 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:
getQueryParametersin 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. .. 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:
getQueryParametersOrBuilderin 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:
hasGrpcin 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:
getGrpcin 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:
getGrpcOrBuilderin 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:
hasTlsContextin 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:
getTlsContextin 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:
getTlsContextOrBuilderin interfaceRouteMatchOrBuilder
-
getDynamicMetadataList
public 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:
getDynamicMetadataListin interfaceRouteMatchOrBuilder
-
getDynamicMetadataOrBuilderList
public 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:
getDynamicMetadataOrBuilderListin 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:
getDynamicMetadataCountin 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:
getDynamicMetadatain 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:
getDynamicMetadataOrBuilderin interfaceRouteMatchOrBuilder
-
isInitialized
public final boolean isInitialized()
- Specified by:
isInitializedin interfacecom.google.protobuf.MessageLiteOrBuilder- Overrides:
isInitializedin classcom.google.protobuf.GeneratedMessageV3
-
writeTo
public void writeTo(com.google.protobuf.CodedOutputStream output) throws IOException- Specified by:
writeToin interfacecom.google.protobuf.MessageLite- Overrides:
writeToin classcom.google.protobuf.GeneratedMessageV3- Throws:
IOException
-
getSerializedSize
public int getSerializedSize()
- Specified by:
getSerializedSizein interfacecom.google.protobuf.MessageLite- Overrides:
getSerializedSizein classcom.google.protobuf.GeneratedMessageV3
-
equals
public boolean equals(Object obj)
- Specified by:
equalsin interfacecom.google.protobuf.Message- Overrides:
equalsin classcom.google.protobuf.AbstractMessage
-
hashCode
public int hashCode()
- Specified by:
hashCodein interfacecom.google.protobuf.Message- Overrides:
hashCodein 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
public static RouteMatch parseFrom(InputStream input) throws IOException
- Throws:
IOException
-
parseFrom
public static RouteMatch parseFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
- Throws:
IOException
-
parseDelimitedFrom
public static RouteMatch parseDelimitedFrom(InputStream input) throws IOException
- Throws:
IOException
-
parseDelimitedFrom
public static RouteMatch parseDelimitedFrom(InputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
- Throws:
IOException
-
parseFrom
public static RouteMatch parseFrom(com.google.protobuf.CodedInputStream input) throws IOException
- Throws:
IOException
-
parseFrom
public static RouteMatch parseFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException
- Throws:
IOException
-
newBuilderForType
public RouteMatch.Builder newBuilderForType()
- Specified by:
newBuilderForTypein interfacecom.google.protobuf.Message- Specified by:
newBuilderForTypein 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:
toBuilderin interfacecom.google.protobuf.Message- Specified by:
toBuilderin interfacecom.google.protobuf.MessageLite
-
newBuilderForType
protected RouteMatch.Builder newBuilderForType(com.google.protobuf.GeneratedMessageV3.BuilderParent parent)
- Specified by:
newBuilderForTypein classcom.google.protobuf.GeneratedMessageV3
-
getDefaultInstance
public static RouteMatch getDefaultInstance()
-
parser
public static com.google.protobuf.Parser<RouteMatch> parser()
-
getParserForType
public com.google.protobuf.Parser<RouteMatch> getParserForType()
- Specified by:
getParserForTypein interfacecom.google.protobuf.Message- Specified by:
getParserForTypein interfacecom.google.protobuf.MessageLite- Overrides:
getParserForTypein classcom.google.protobuf.GeneratedMessageV3
-
getDefaultInstanceForType
public RouteMatch getDefaultInstanceForType()
- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageLiteOrBuilder- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageOrBuilder
-
-