Class RouteMatch

java.lang.Object
com.google.protobuf.AbstractMessageLite
com.google.protobuf.AbstractMessage
com.google.protobuf.GeneratedMessage
io.envoyproxy.envoy.config.route.v3.RouteMatch
All Implemented Interfaces:
com.google.protobuf.Message, com.google.protobuf.MessageLite, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, RouteMatchOrBuilder, Serializable

public final class RouteMatch extends com.google.protobuf.GeneratedMessage implements RouteMatchOrBuilder
 [#next-free-field: 16]
 
Protobuf type envoy.config.route.v3.RouteMatch
See Also:
  • Field Details

  • Constructor Details

    • RouteMatch

      private RouteMatch(com.google.protobuf.GeneratedMessage.Builder<?> builder)
    • RouteMatch

      private RouteMatch()
  • Method Details

    • getDescriptor

      public static final com.google.protobuf.Descriptors.Descriptor getDescriptor()
    • internalGetFieldAccessorTable

      protected com.google.protobuf.GeneratedMessage.FieldAccessorTable internalGetFieldAccessorTable()
      Specified by:
      internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessage
    • getPathSpecifierCase

      public RouteMatch.PathSpecifierCase getPathSpecifierCase()
      Specified by:
      getPathSpecifierCase in interface RouteMatchOrBuilder
    • 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 interface RouteMatchOrBuilder
      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:
      getPrefix in interface RouteMatchOrBuilder
      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 interface RouteMatchOrBuilder
      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 interface RouteMatchOrBuilder
      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:
      getPath in interface RouteMatchOrBuilder
      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 interface RouteMatchOrBuilder
      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 interface RouteMatchOrBuilder
      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 interface RouteMatchOrBuilder
      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 interface RouteMatchOrBuilder
    • 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 interface RouteMatchOrBuilder
      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 interface RouteMatchOrBuilder
      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 interface RouteMatchOrBuilder
    • 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 interface RouteMatchOrBuilder
      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:
      getPathSeparatedPrefix in interface RouteMatchOrBuilder
      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 interface RouteMatchOrBuilder
      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 interface RouteMatchOrBuilder
      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 interface RouteMatchOrBuilder
      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 interface RouteMatchOrBuilder
    • 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 interface RouteMatchOrBuilder
      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 interface RouteMatchOrBuilder
      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 interface RouteMatchOrBuilder
    • 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 interface RouteMatchOrBuilder
      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 interface RouteMatchOrBuilder
      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 interface RouteMatchOrBuilder
    • 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:
      getHeadersList in interface RouteMatchOrBuilder
    • 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:
      getHeadersOrBuilderList in interface RouteMatchOrBuilder
    • 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 interface RouteMatchOrBuilder
    • 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 interface RouteMatchOrBuilder
    • 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 interface RouteMatchOrBuilder
    • 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. 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 interface RouteMatchOrBuilder
    • 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. 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 interface RouteMatchOrBuilder
    • 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 interface RouteMatchOrBuilder
    • 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 interface RouteMatchOrBuilder
    • 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 interface RouteMatchOrBuilder
    • 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 interface RouteMatchOrBuilder
      Returns:
      Whether the grpc field is set.
    • getGrpc

       If specified, only gRPC requests will be matched. The router will check
       that the content-type header has a application/grpc or one of the various
       application/grpc+ values.
       
      .envoy.config.route.v3.RouteMatch.GrpcRouteMatchOptions grpc = 8;
      Specified by:
      getGrpc in interface RouteMatchOrBuilder
      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 interface RouteMatchOrBuilder
    • 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 interface RouteMatchOrBuilder
      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 interface RouteMatchOrBuilder
      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 interface RouteMatchOrBuilder
    • 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:
      getDynamicMetadataList in interface RouteMatchOrBuilder
    • 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:
      getDynamicMetadataOrBuilderList in interface RouteMatchOrBuilder
    • 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 interface RouteMatchOrBuilder
    • 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 interface RouteMatchOrBuilder
    • 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 interface RouteMatchOrBuilder
    • isInitialized

      public final boolean isInitialized()
      Specified by:
      isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
      Overrides:
      isInitialized in class com.google.protobuf.GeneratedMessage
    • writeTo

      public void writeTo(com.google.protobuf.CodedOutputStream output) throws IOException
      Specified by:
      writeTo in interface com.google.protobuf.MessageLite
      Overrides:
      writeTo in class com.google.protobuf.GeneratedMessage
      Throws:
      IOException
    • getSerializedSize

      public int getSerializedSize()
      Specified by:
      getSerializedSize in interface com.google.protobuf.MessageLite
      Overrides:
      getSerializedSize in class com.google.protobuf.GeneratedMessage
    • equals

      public boolean equals(Object obj)
      Specified by:
      equals in interface com.google.protobuf.Message
      Overrides:
      equals in class com.google.protobuf.AbstractMessage
    • hashCode

      public int hashCode()
      Specified by:
      hashCode in interface com.google.protobuf.Message
      Overrides:
      hashCode in class com.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:
      newBuilderForType in interface com.google.protobuf.Message
      Specified by:
      newBuilderForType in interface com.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 interface com.google.protobuf.Message
      Specified by:
      toBuilder in interface com.google.protobuf.MessageLite
    • newBuilderForType

      protected RouteMatch.Builder newBuilderForType(com.google.protobuf.AbstractMessage.BuilderParent parent)
      Overrides:
      newBuilderForType in class com.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 interface com.google.protobuf.Message
      Specified by:
      getParserForType in interface com.google.protobuf.MessageLite
      Overrides:
      getParserForType in class com.google.protobuf.GeneratedMessage
    • getDefaultInstanceForType

      public RouteMatch getDefaultInstanceForType()
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
      Specified by:
      getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder