Class HeaderMatcher.Builder

  • All Implemented Interfaces:
    com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, HeaderMatcherOrBuilder, java.lang.Cloneable
    Enclosing class:
    HeaderMatcher

    public static final class HeaderMatcher.Builder
    extends com.google.protobuf.GeneratedMessage.Builder<HeaderMatcher.Builder>
    implements HeaderMatcherOrBuilder
     .. attention::
    
     Internally, Envoy always uses the HTTP/2 ``:authority`` header to represent the HTTP/1 ``Host``
     header. Thus, if attempting to match on ``Host``, match on ``:authority`` instead.
    
     .. attention::
    
     To route on HTTP method, use the special HTTP/2 ``:method`` header. This works for both
     HTTP/1 and HTTP/2 as Envoy normalizes headers. E.g.,
    
     .. code-block:: json
    
     {
     "name": ":method",
     "string_match": {
     "exact": "POST"
     }
     }
    
     .. attention::
     In the absence of any header match specifier, match will default to :ref:`present_match
     <envoy_v3_api_field_config.route.v3.HeaderMatcher.present_match>`. i.e, a request that has the :ref:`name
     <envoy_v3_api_field_config.route.v3.HeaderMatcher.name>` header will match, regardless of the header's
     value.
    
     [#next-major-version: HeaderMatcher should be refactored to use StringMatcher.]
     [#next-free-field: 15]
     
    Protobuf type envoy.config.route.v3.HeaderMatcher
    • Constructor Detail

      • Builder

        private Builder()
      • Builder

        private Builder​(com.google.protobuf.AbstractMessage.BuilderParent parent)
    • Method Detail

      • 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.Builder<HeaderMatcher.Builder>
      • clear

        public HeaderMatcher.Builder clear()
        Specified by:
        clear in interface com.google.protobuf.Message.Builder
        Specified by:
        clear in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        clear in class com.google.protobuf.GeneratedMessage.Builder<HeaderMatcher.Builder>
      • getDescriptorForType

        public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()
        Specified by:
        getDescriptorForType in interface com.google.protobuf.Message.Builder
        Specified by:
        getDescriptorForType in interface com.google.protobuf.MessageOrBuilder
        Overrides:
        getDescriptorForType in class com.google.protobuf.GeneratedMessage.Builder<HeaderMatcher.Builder>
      • getDefaultInstanceForType

        public HeaderMatcher getDefaultInstanceForType()
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageLiteOrBuilder
        Specified by:
        getDefaultInstanceForType in interface com.google.protobuf.MessageOrBuilder
      • build

        public HeaderMatcher build()
        Specified by:
        build in interface com.google.protobuf.Message.Builder
        Specified by:
        build in interface com.google.protobuf.MessageLite.Builder
      • buildPartial

        public HeaderMatcher buildPartial()
        Specified by:
        buildPartial in interface com.google.protobuf.Message.Builder
        Specified by:
        buildPartial in interface com.google.protobuf.MessageLite.Builder
      • buildPartial0

        private void buildPartial0​(HeaderMatcher result)
      • buildPartialOneofs

        private void buildPartialOneofs​(HeaderMatcher result)
      • mergeFrom

        public HeaderMatcher.Builder mergeFrom​(com.google.protobuf.Message other)
        Specified by:
        mergeFrom in interface com.google.protobuf.Message.Builder
        Overrides:
        mergeFrom in class com.google.protobuf.AbstractMessage.Builder<HeaderMatcher.Builder>
      • isInitialized

        public final boolean isInitialized()
        Specified by:
        isInitialized in interface com.google.protobuf.MessageLiteOrBuilder
        Overrides:
        isInitialized in class com.google.protobuf.GeneratedMessage.Builder<HeaderMatcher.Builder>
      • mergeFrom

        public HeaderMatcher.Builder mergeFrom​(com.google.protobuf.CodedInputStream input,
                                               com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                        throws java.io.IOException
        Specified by:
        mergeFrom in interface com.google.protobuf.Message.Builder
        Specified by:
        mergeFrom in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        mergeFrom in class com.google.protobuf.AbstractMessage.Builder<HeaderMatcher.Builder>
        Throws:
        java.io.IOException
      • getName

        public java.lang.String getName()
         Specifies the name of the header in the request.
         
        string name = 1 [(.validate.rules) = { ... }
        Specified by:
        getName in interface HeaderMatcherOrBuilder
        Returns:
        The name.
      • getNameBytes

        public com.google.protobuf.ByteString getNameBytes()
         Specifies the name of the header in the request.
         
        string name = 1 [(.validate.rules) = { ... }
        Specified by:
        getNameBytes in interface HeaderMatcherOrBuilder
        Returns:
        The bytes for name.
      • setName

        public HeaderMatcher.Builder setName​(java.lang.String value)
         Specifies the name of the header in the request.
         
        string name = 1 [(.validate.rules) = { ... }
        Parameters:
        value - The name to set.
        Returns:
        This builder for chaining.
      • clearName

        public HeaderMatcher.Builder clearName()
         Specifies the name of the header in the request.
         
        string name = 1 [(.validate.rules) = { ... }
        Returns:
        This builder for chaining.
      • setNameBytes

        public HeaderMatcher.Builder setNameBytes​(com.google.protobuf.ByteString value)
         Specifies the name of the header in the request.
         
        string name = 1 [(.validate.rules) = { ... }
        Parameters:
        value - The bytes for name to set.
        Returns:
        This builder for chaining.
      • hasExactMatch

        @Deprecated
        public boolean hasExactMatch()
        Deprecated.
        envoy.config.route.v3.HeaderMatcher.exact_match is deprecated. See envoy/config/route/v3/route_components.proto;l=2241
         If specified, header match will be performed based on the value of the header.
         This field is deprecated. Please use :ref:`string_match <envoy_v3_api_field_config.route.v3.HeaderMatcher.string_match>`.
         
        string exact_match = 4 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
        Specified by:
        hasExactMatch in interface HeaderMatcherOrBuilder
        Returns:
        Whether the exactMatch field is set.
      • getExactMatch

        @Deprecated
        public java.lang.String getExactMatch()
        Deprecated.
        envoy.config.route.v3.HeaderMatcher.exact_match is deprecated. See envoy/config/route/v3/route_components.proto;l=2241
         If specified, header match will be performed based on the value of the header.
         This field is deprecated. Please use :ref:`string_match <envoy_v3_api_field_config.route.v3.HeaderMatcher.string_match>`.
         
        string exact_match = 4 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
        Specified by:
        getExactMatch in interface HeaderMatcherOrBuilder
        Returns:
        The exactMatch.
      • getExactMatchBytes

        @Deprecated
        public com.google.protobuf.ByteString getExactMatchBytes()
        Deprecated.
        envoy.config.route.v3.HeaderMatcher.exact_match is deprecated. See envoy/config/route/v3/route_components.proto;l=2241
         If specified, header match will be performed based on the value of the header.
         This field is deprecated. Please use :ref:`string_match <envoy_v3_api_field_config.route.v3.HeaderMatcher.string_match>`.
         
        string exact_match = 4 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
        Specified by:
        getExactMatchBytes in interface HeaderMatcherOrBuilder
        Returns:
        The bytes for exactMatch.
      • setExactMatch

        @Deprecated
        public HeaderMatcher.Builder setExactMatch​(java.lang.String value)
        Deprecated.
        envoy.config.route.v3.HeaderMatcher.exact_match is deprecated. See envoy/config/route/v3/route_components.proto;l=2241
         If specified, header match will be performed based on the value of the header.
         This field is deprecated. Please use :ref:`string_match <envoy_v3_api_field_config.route.v3.HeaderMatcher.string_match>`.
         
        string exact_match = 4 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
        Parameters:
        value - The exactMatch to set.
        Returns:
        This builder for chaining.
      • clearExactMatch

        @Deprecated
        public HeaderMatcher.Builder clearExactMatch()
        Deprecated.
        envoy.config.route.v3.HeaderMatcher.exact_match is deprecated. See envoy/config/route/v3/route_components.proto;l=2241
         If specified, header match will be performed based on the value of the header.
         This field is deprecated. Please use :ref:`string_match <envoy_v3_api_field_config.route.v3.HeaderMatcher.string_match>`.
         
        string exact_match = 4 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
        Returns:
        This builder for chaining.
      • setExactMatchBytes

        @Deprecated
        public HeaderMatcher.Builder setExactMatchBytes​(com.google.protobuf.ByteString value)
        Deprecated.
        envoy.config.route.v3.HeaderMatcher.exact_match is deprecated. See envoy/config/route/v3/route_components.proto;l=2241
         If specified, header match will be performed based on the value of the header.
         This field is deprecated. Please use :ref:`string_match <envoy_v3_api_field_config.route.v3.HeaderMatcher.string_match>`.
         
        string exact_match = 4 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
        Parameters:
        value - The bytes for exactMatch to set.
        Returns:
        This builder for chaining.
      • hasSafeRegexMatch

        @Deprecated
        public boolean hasSafeRegexMatch()
        Deprecated.
        envoy.config.route.v3.HeaderMatcher.safe_regex_match is deprecated. See envoy/config/route/v3/route_components.proto;l=2248
         If specified, this regex string is a regular expression rule which implies the entire request
         header value must match the regex. The rule will not match if only a subsequence of the
         request header value matches the regex.
         This field is deprecated. Please use :ref:`string_match <envoy_v3_api_field_config.route.v3.HeaderMatcher.string_match>`.
         
        .envoy.type.matcher.v3.RegexMatcher safe_regex_match = 11 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
        Specified by:
        hasSafeRegexMatch in interface HeaderMatcherOrBuilder
        Returns:
        Whether the safeRegexMatch field is set.
      • getSafeRegexMatch

        @Deprecated
        public RegexMatcher getSafeRegexMatch()
        Deprecated.
        envoy.config.route.v3.HeaderMatcher.safe_regex_match is deprecated. See envoy/config/route/v3/route_components.proto;l=2248
         If specified, this regex string is a regular expression rule which implies the entire request
         header value must match the regex. The rule will not match if only a subsequence of the
         request header value matches the regex.
         This field is deprecated. Please use :ref:`string_match <envoy_v3_api_field_config.route.v3.HeaderMatcher.string_match>`.
         
        .envoy.type.matcher.v3.RegexMatcher safe_regex_match = 11 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
        Specified by:
        getSafeRegexMatch in interface HeaderMatcherOrBuilder
        Returns:
        The safeRegexMatch.
      • setSafeRegexMatch

        @Deprecated
        public HeaderMatcher.Builder setSafeRegexMatch​(RegexMatcher value)
        Deprecated.
         If specified, this regex string is a regular expression rule which implies the entire request
         header value must match the regex. The rule will not match if only a subsequence of the
         request header value matches the regex.
         This field is deprecated. Please use :ref:`string_match <envoy_v3_api_field_config.route.v3.HeaderMatcher.string_match>`.
         
        .envoy.type.matcher.v3.RegexMatcher safe_regex_match = 11 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
      • setSafeRegexMatch

        @Deprecated
        public HeaderMatcher.Builder setSafeRegexMatch​(RegexMatcher.Builder builderForValue)
        Deprecated.
         If specified, this regex string is a regular expression rule which implies the entire request
         header value must match the regex. The rule will not match if only a subsequence of the
         request header value matches the regex.
         This field is deprecated. Please use :ref:`string_match <envoy_v3_api_field_config.route.v3.HeaderMatcher.string_match>`.
         
        .envoy.type.matcher.v3.RegexMatcher safe_regex_match = 11 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
      • mergeSafeRegexMatch

        @Deprecated
        public HeaderMatcher.Builder mergeSafeRegexMatch​(RegexMatcher value)
        Deprecated.
         If specified, this regex string is a regular expression rule which implies the entire request
         header value must match the regex. The rule will not match if only a subsequence of the
         request header value matches the regex.
         This field is deprecated. Please use :ref:`string_match <envoy_v3_api_field_config.route.v3.HeaderMatcher.string_match>`.
         
        .envoy.type.matcher.v3.RegexMatcher safe_regex_match = 11 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
      • clearSafeRegexMatch

        @Deprecated
        public HeaderMatcher.Builder clearSafeRegexMatch()
        Deprecated.
         If specified, this regex string is a regular expression rule which implies the entire request
         header value must match the regex. The rule will not match if only a subsequence of the
         request header value matches the regex.
         This field is deprecated. Please use :ref:`string_match <envoy_v3_api_field_config.route.v3.HeaderMatcher.string_match>`.
         
        .envoy.type.matcher.v3.RegexMatcher safe_regex_match = 11 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
      • getSafeRegexMatchBuilder

        @Deprecated
        public RegexMatcher.Builder getSafeRegexMatchBuilder()
        Deprecated.
         If specified, this regex string is a regular expression rule which implies the entire request
         header value must match the regex. The rule will not match if only a subsequence of the
         request header value matches the regex.
         This field is deprecated. Please use :ref:`string_match <envoy_v3_api_field_config.route.v3.HeaderMatcher.string_match>`.
         
        .envoy.type.matcher.v3.RegexMatcher safe_regex_match = 11 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
      • getSafeRegexMatchOrBuilder

        @Deprecated
        public RegexMatcherOrBuilder getSafeRegexMatchOrBuilder()
        Deprecated.
         If specified, this regex string is a regular expression rule which implies the entire request
         header value must match the regex. The rule will not match if only a subsequence of the
         request header value matches the regex.
         This field is deprecated. Please use :ref:`string_match <envoy_v3_api_field_config.route.v3.HeaderMatcher.string_match>`.
         
        .envoy.type.matcher.v3.RegexMatcher safe_regex_match = 11 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
        Specified by:
        getSafeRegexMatchOrBuilder in interface HeaderMatcherOrBuilder
      • getSafeRegexMatchFieldBuilder

        private com.google.protobuf.SingleFieldBuilder<RegexMatcher,​RegexMatcher.Builder,​RegexMatcherOrBuilder> getSafeRegexMatchFieldBuilder()
         If specified, this regex string is a regular expression rule which implies the entire request
         header value must match the regex. The rule will not match if only a subsequence of the
         request header value matches the regex.
         This field is deprecated. Please use :ref:`string_match <envoy_v3_api_field_config.route.v3.HeaderMatcher.string_match>`.
         
        .envoy.type.matcher.v3.RegexMatcher safe_regex_match = 11 [deprecated = true, (.envoy.annotations.deprecated_at_minor_version) = "3.0"];
      • hasRangeMatch

        public boolean hasRangeMatch()
         If specified, header match will be performed based on range.
         The rule will match if the request header value is within this range.
         The entire request header value must represent an integer in base 10 notation: consisting of
         an optional plus or minus sign followed by a sequence of digits. The rule will not match if
         the header value does not represent an integer. Match will fail for empty values, floating
         point numbers or if only a subsequence of the header value is an integer.
        
         Examples:
        
         * For range [-10,0), route will match for header value -1, but not for 0, ``somestring``, 10.9,
         ``-1somestring``
         
        .envoy.type.v3.Int64Range range_match = 6;
        Specified by:
        hasRangeMatch in interface HeaderMatcherOrBuilder
        Returns:
        Whether the rangeMatch field is set.
      • getRangeMatch

        public Int64Range getRangeMatch()
         If specified, header match will be performed based on range.
         The rule will match if the request header value is within this range.
         The entire request header value must represent an integer in base 10 notation: consisting of
         an optional plus or minus sign followed by a sequence of digits. The rule will not match if
         the header value does not represent an integer. Match will fail for empty values, floating
         point numbers or if only a subsequence of the header value is an integer.
        
         Examples:
        
         * For range [-10,0), route will match for header value -1, but not for 0, ``somestring``, 10.9,
         ``-1somestring``
         
        .envoy.type.v3.Int64Range range_match = 6;
        Specified by:
        getRangeMatch in interface HeaderMatcherOrBuilder
        Returns:
        The rangeMatch.
      • setRangeMatch

        public HeaderMatcher.Builder setRangeMatch​(Int64Range value)
         If specified, header match will be performed based on range.
         The rule will match if the request header value is within this range.
         The entire request header value must represent an integer in base 10 notation: consisting of
         an optional plus or minus sign followed by a sequence of digits. The rule will not match if
         the header value does not represent an integer. Match will fail for empty values, floating
         point numbers or if only a subsequence of the header value is an integer.
        
         Examples:
        
         * For range [-10,0), route will match for header value -1, but not for 0, ``somestring``, 10.9,
         ``-1somestring``
         
        .envoy.type.v3.Int64Range range_match = 6;
      • setRangeMatch

        public HeaderMatcher.Builder setRangeMatch​(Int64Range.Builder builderForValue)
         If specified, header match will be performed based on range.
         The rule will match if the request header value is within this range.
         The entire request header value must represent an integer in base 10 notation: consisting of
         an optional plus or minus sign followed by a sequence of digits. The rule will not match if
         the header value does not represent an integer. Match will fail for empty values, floating
         point numbers or if only a subsequence of the header value is an integer.
        
         Examples:
        
         * For range [-10,0), route will match for header value -1, but not for 0, ``somestring``, 10.9,
         ``-1somestring``
         
        .envoy.type.v3.Int64Range range_match = 6;
      • mergeRangeMatch

        public HeaderMatcher.Builder mergeRangeMatch​(Int64Range value)
         If specified, header match will be performed based on range.
         The rule will match if the request header value is within this range.
         The entire request header value must represent an integer in base 10 notation: consisting of
         an optional plus or minus sign followed by a sequence of digits. The rule will not match if
         the header value does not represent an integer. Match will fail for empty values, floating
         point numbers or if only a subsequence of the header value is an integer.
        
         Examples:
        
         * For range [-10,0), route will match for header value -1, but not for 0, ``somestring``, 10.9,
         ``-1somestring``
         
        .envoy.type.v3.Int64Range range_match = 6;
      • clearRangeMatch

        public HeaderMatcher.Builder clearRangeMatch()
         If specified, header match will be performed based on range.
         The rule will match if the request header value is within this range.
         The entire request header value must represent an integer in base 10 notation: consisting of
         an optional plus or minus sign followed by a sequence of digits. The rule will not match if
         the header value does not represent an integer. Match will fail for empty values, floating
         point numbers or if only a subsequence of the header value is an integer.
        
         Examples:
        
         * For range [-10,0), route will match for header value -1, but not for 0, ``somestring``, 10.9,
         ``-1somestring``
         
        .envoy.type.v3.Int64Range range_match = 6;
      • getRangeMatchBuilder

        public Int64Range.Builder getRangeMatchBuilder()
         If specified, header match will be performed based on range.
         The rule will match if the request header value is within this range.
         The entire request header value must represent an integer in base 10 notation: consisting of
         an optional plus or minus sign followed by a sequence of digits. The rule will not match if
         the header value does not represent an integer. Match will fail for empty values, floating
         point numbers or if only a subsequence of the header value is an integer.
        
         Examples:
        
         * For range [-10,0), route will match for header value -1, but not for 0, ``somestring``, 10.9,
         ``-1somestring``
         
        .envoy.type.v3.Int64Range range_match = 6;
      • getRangeMatchOrBuilder

        public Int64RangeOrBuilder getRangeMatchOrBuilder()
         If specified, header match will be performed based on range.
         The rule will match if the request header value is within this range.
         The entire request header value must represent an integer in base 10 notation: consisting of
         an optional plus or minus sign followed by a sequence of digits. The rule will not match if
         the header value does not represent an integer. Match will fail for empty values, floating
         point numbers or if only a subsequence of the header value is an integer.
        
         Examples:
        
         * For range [-10,0), route will match for header value -1, but not for 0, ``somestring``, 10.9,
         ``-1somestring``
         
        .envoy.type.v3.Int64Range range_match = 6;
        Specified by:
        getRangeMatchOrBuilder in interface HeaderMatcherOrBuilder
      • getRangeMatchFieldBuilder

        private com.google.protobuf.SingleFieldBuilder<Int64Range,​Int64Range.Builder,​Int64RangeOrBuilder> getRangeMatchFieldBuilder()
         If specified, header match will be performed based on range.
         The rule will match if the request header value is within this range.
         The entire request header value must represent an integer in base 10 notation: consisting of
         an optional plus or minus sign followed by a sequence of digits. The rule will not match if
         the header value does not represent an integer. Match will fail for empty values, floating
         point numbers or if only a subsequence of the header value is an integer.
        
         Examples:
        
         * For range [-10,0), route will match for header value -1, but not for 0, ``somestring``, 10.9,
         ``-1somestring``
         
        .envoy.type.v3.Int64Range range_match = 6;
      • hasPresentMatch

        public boolean hasPresentMatch()
         If specified as true, header match will be performed based on whether the header is in the
         request. If specified as false, header match will be performed based on whether the header is absent.
         
        bool present_match = 7;
        Specified by:
        hasPresentMatch in interface HeaderMatcherOrBuilder
        Returns:
        Whether the presentMatch field is set.
      • getPresentMatch

        public boolean getPresentMatch()
         If specified as true, header match will be performed based on whether the header is in the
         request. If specified as false, header match will be performed based on whether the header is absent.
         
        bool present_match = 7;
        Specified by:
        getPresentMatch in interface HeaderMatcherOrBuilder
        Returns:
        The presentMatch.
      • setPresentMatch

        public HeaderMatcher.Builder setPresentMatch​(boolean value)
         If specified as true, header match will be performed based on whether the header is in the
         request. If specified as false, header match will be performed based on whether the header is absent.
         
        bool present_match = 7;
        Parameters:
        value - The presentMatch to set.
        Returns:
        This builder for chaining.
      • clearPresentMatch

        public HeaderMatcher.Builder clearPresentMatch()
         If specified as true, header match will be performed based on whether the header is in the
         request. If specified as false, header match will be performed based on whether the header is absent.
         
        bool present_match = 7;
        Returns:
        This builder for chaining.
      • hasPrefixMatch

        @Deprecated
        public boolean hasPrefixMatch()
        Deprecated.
        envoy.config.route.v3.HeaderMatcher.prefix_match is deprecated. See envoy/config/route/v3/route_components.proto;l=2275
         If specified, header match will be performed based on the prefix of the header value.
         Note: empty prefix is not allowed, please use present_match instead.
         This field is deprecated. Please use :ref:`string_match <envoy_v3_api_field_config.route.v3.HeaderMatcher.string_match>`.
        
         Examples:
        
         * The prefix ``abcd`` matches the value ``abcdxyz``, but not for ``abcxyz``.
         
        string prefix_match = 9 [deprecated = true, (.validate.rules) = { ... }
        Specified by:
        hasPrefixMatch in interface HeaderMatcherOrBuilder
        Returns:
        Whether the prefixMatch field is set.
      • getPrefixMatch

        @Deprecated
        public java.lang.String getPrefixMatch()
        Deprecated.
        envoy.config.route.v3.HeaderMatcher.prefix_match is deprecated. See envoy/config/route/v3/route_components.proto;l=2275
         If specified, header match will be performed based on the prefix of the header value.
         Note: empty prefix is not allowed, please use present_match instead.
         This field is deprecated. Please use :ref:`string_match <envoy_v3_api_field_config.route.v3.HeaderMatcher.string_match>`.
        
         Examples:
        
         * The prefix ``abcd`` matches the value ``abcdxyz``, but not for ``abcxyz``.
         
        string prefix_match = 9 [deprecated = true, (.validate.rules) = { ... }
        Specified by:
        getPrefixMatch in interface HeaderMatcherOrBuilder
        Returns:
        The prefixMatch.
      • getPrefixMatchBytes

        @Deprecated
        public com.google.protobuf.ByteString getPrefixMatchBytes()
        Deprecated.
        envoy.config.route.v3.HeaderMatcher.prefix_match is deprecated. See envoy/config/route/v3/route_components.proto;l=2275
         If specified, header match will be performed based on the prefix of the header value.
         Note: empty prefix is not allowed, please use present_match instead.
         This field is deprecated. Please use :ref:`string_match <envoy_v3_api_field_config.route.v3.HeaderMatcher.string_match>`.
        
         Examples:
        
         * The prefix ``abcd`` matches the value ``abcdxyz``, but not for ``abcxyz``.
         
        string prefix_match = 9 [deprecated = true, (.validate.rules) = { ... }
        Specified by:
        getPrefixMatchBytes in interface HeaderMatcherOrBuilder
        Returns:
        The bytes for prefixMatch.
      • setPrefixMatch

        @Deprecated
        public HeaderMatcher.Builder setPrefixMatch​(java.lang.String value)
        Deprecated.
        envoy.config.route.v3.HeaderMatcher.prefix_match is deprecated. See envoy/config/route/v3/route_components.proto;l=2275
         If specified, header match will be performed based on the prefix of the header value.
         Note: empty prefix is not allowed, please use present_match instead.
         This field is deprecated. Please use :ref:`string_match <envoy_v3_api_field_config.route.v3.HeaderMatcher.string_match>`.
        
         Examples:
        
         * The prefix ``abcd`` matches the value ``abcdxyz``, but not for ``abcxyz``.
         
        string prefix_match = 9 [deprecated = true, (.validate.rules) = { ... }
        Parameters:
        value - The prefixMatch to set.
        Returns:
        This builder for chaining.
      • clearPrefixMatch

        @Deprecated
        public HeaderMatcher.Builder clearPrefixMatch()
        Deprecated.
        envoy.config.route.v3.HeaderMatcher.prefix_match is deprecated. See envoy/config/route/v3/route_components.proto;l=2275
         If specified, header match will be performed based on the prefix of the header value.
         Note: empty prefix is not allowed, please use present_match instead.
         This field is deprecated. Please use :ref:`string_match <envoy_v3_api_field_config.route.v3.HeaderMatcher.string_match>`.
        
         Examples:
        
         * The prefix ``abcd`` matches the value ``abcdxyz``, but not for ``abcxyz``.
         
        string prefix_match = 9 [deprecated = true, (.validate.rules) = { ... }
        Returns:
        This builder for chaining.
      • setPrefixMatchBytes

        @Deprecated
        public HeaderMatcher.Builder setPrefixMatchBytes​(com.google.protobuf.ByteString value)
        Deprecated.
        envoy.config.route.v3.HeaderMatcher.prefix_match is deprecated. See envoy/config/route/v3/route_components.proto;l=2275
         If specified, header match will be performed based on the prefix of the header value.
         Note: empty prefix is not allowed, please use present_match instead.
         This field is deprecated. Please use :ref:`string_match <envoy_v3_api_field_config.route.v3.HeaderMatcher.string_match>`.
        
         Examples:
        
         * The prefix ``abcd`` matches the value ``abcdxyz``, but not for ``abcxyz``.
         
        string prefix_match = 9 [deprecated = true, (.validate.rules) = { ... }
        Parameters:
        value - The bytes for prefixMatch to set.
        Returns:
        This builder for chaining.
      • hasSuffixMatch

        @Deprecated
        public boolean hasSuffixMatch()
        Deprecated.
        envoy.config.route.v3.HeaderMatcher.suffix_match is deprecated. See envoy/config/route/v3/route_components.proto;l=2288
         If specified, header match will be performed based on the suffix of the header value.
         Note: empty suffix is not allowed, please use present_match instead.
         This field is deprecated. Please use :ref:`string_match <envoy_v3_api_field_config.route.v3.HeaderMatcher.string_match>`.
        
         Examples:
        
         * The suffix ``abcd`` matches the value ``xyzabcd``, but not for ``xyzbcd``.
         
        string suffix_match = 10 [deprecated = true, (.validate.rules) = { ... }
        Specified by:
        hasSuffixMatch in interface HeaderMatcherOrBuilder
        Returns:
        Whether the suffixMatch field is set.
      • getSuffixMatch

        @Deprecated
        public java.lang.String getSuffixMatch()
        Deprecated.
        envoy.config.route.v3.HeaderMatcher.suffix_match is deprecated. See envoy/config/route/v3/route_components.proto;l=2288
         If specified, header match will be performed based on the suffix of the header value.
         Note: empty suffix is not allowed, please use present_match instead.
         This field is deprecated. Please use :ref:`string_match <envoy_v3_api_field_config.route.v3.HeaderMatcher.string_match>`.
        
         Examples:
        
         * The suffix ``abcd`` matches the value ``xyzabcd``, but not for ``xyzbcd``.
         
        string suffix_match = 10 [deprecated = true, (.validate.rules) = { ... }
        Specified by:
        getSuffixMatch in interface HeaderMatcherOrBuilder
        Returns:
        The suffixMatch.
      • getSuffixMatchBytes

        @Deprecated
        public com.google.protobuf.ByteString getSuffixMatchBytes()
        Deprecated.
        envoy.config.route.v3.HeaderMatcher.suffix_match is deprecated. See envoy/config/route/v3/route_components.proto;l=2288
         If specified, header match will be performed based on the suffix of the header value.
         Note: empty suffix is not allowed, please use present_match instead.
         This field is deprecated. Please use :ref:`string_match <envoy_v3_api_field_config.route.v3.HeaderMatcher.string_match>`.
        
         Examples:
        
         * The suffix ``abcd`` matches the value ``xyzabcd``, but not for ``xyzbcd``.
         
        string suffix_match = 10 [deprecated = true, (.validate.rules) = { ... }
        Specified by:
        getSuffixMatchBytes in interface HeaderMatcherOrBuilder
        Returns:
        The bytes for suffixMatch.
      • setSuffixMatch

        @Deprecated
        public HeaderMatcher.Builder setSuffixMatch​(java.lang.String value)
        Deprecated.
        envoy.config.route.v3.HeaderMatcher.suffix_match is deprecated. See envoy/config/route/v3/route_components.proto;l=2288
         If specified, header match will be performed based on the suffix of the header value.
         Note: empty suffix is not allowed, please use present_match instead.
         This field is deprecated. Please use :ref:`string_match <envoy_v3_api_field_config.route.v3.HeaderMatcher.string_match>`.
        
         Examples:
        
         * The suffix ``abcd`` matches the value ``xyzabcd``, but not for ``xyzbcd``.
         
        string suffix_match = 10 [deprecated = true, (.validate.rules) = { ... }
        Parameters:
        value - The suffixMatch to set.
        Returns:
        This builder for chaining.
      • clearSuffixMatch

        @Deprecated
        public HeaderMatcher.Builder clearSuffixMatch()
        Deprecated.
        envoy.config.route.v3.HeaderMatcher.suffix_match is deprecated. See envoy/config/route/v3/route_components.proto;l=2288
         If specified, header match will be performed based on the suffix of the header value.
         Note: empty suffix is not allowed, please use present_match instead.
         This field is deprecated. Please use :ref:`string_match <envoy_v3_api_field_config.route.v3.HeaderMatcher.string_match>`.
        
         Examples:
        
         * The suffix ``abcd`` matches the value ``xyzabcd``, but not for ``xyzbcd``.
         
        string suffix_match = 10 [deprecated = true, (.validate.rules) = { ... }
        Returns:
        This builder for chaining.
      • setSuffixMatchBytes

        @Deprecated
        public HeaderMatcher.Builder setSuffixMatchBytes​(com.google.protobuf.ByteString value)
        Deprecated.
        envoy.config.route.v3.HeaderMatcher.suffix_match is deprecated. See envoy/config/route/v3/route_components.proto;l=2288
         If specified, header match will be performed based on the suffix of the header value.
         Note: empty suffix is not allowed, please use present_match instead.
         This field is deprecated. Please use :ref:`string_match <envoy_v3_api_field_config.route.v3.HeaderMatcher.string_match>`.
        
         Examples:
        
         * The suffix ``abcd`` matches the value ``xyzabcd``, but not for ``xyzbcd``.
         
        string suffix_match = 10 [deprecated = true, (.validate.rules) = { ... }
        Parameters:
        value - The bytes for suffixMatch to set.
        Returns:
        This builder for chaining.
      • hasContainsMatch

        @Deprecated
        public boolean hasContainsMatch()
        Deprecated.
        envoy.config.route.v3.HeaderMatcher.contains_match is deprecated. See envoy/config/route/v3/route_components.proto;l=2302
         If specified, header match will be performed based on whether the header value contains
         the given value or not.
         Note: empty contains match is not allowed, please use present_match instead.
         This field is deprecated. Please use :ref:`string_match <envoy_v3_api_field_config.route.v3.HeaderMatcher.string_match>`.
        
         Examples:
        
         * The value ``abcd`` matches the value ``xyzabcdpqr``, but not for ``xyzbcdpqr``.
         
        string contains_match = 12 [deprecated = true, (.validate.rules) = { ... }
        Specified by:
        hasContainsMatch in interface HeaderMatcherOrBuilder
        Returns:
        Whether the containsMatch field is set.
      • getContainsMatch

        @Deprecated
        public java.lang.String getContainsMatch()
        Deprecated.
        envoy.config.route.v3.HeaderMatcher.contains_match is deprecated. See envoy/config/route/v3/route_components.proto;l=2302
         If specified, header match will be performed based on whether the header value contains
         the given value or not.
         Note: empty contains match is not allowed, please use present_match instead.
         This field is deprecated. Please use :ref:`string_match <envoy_v3_api_field_config.route.v3.HeaderMatcher.string_match>`.
        
         Examples:
        
         * The value ``abcd`` matches the value ``xyzabcdpqr``, but not for ``xyzbcdpqr``.
         
        string contains_match = 12 [deprecated = true, (.validate.rules) = { ... }
        Specified by:
        getContainsMatch in interface HeaderMatcherOrBuilder
        Returns:
        The containsMatch.
      • getContainsMatchBytes

        @Deprecated
        public com.google.protobuf.ByteString getContainsMatchBytes()
        Deprecated.
        envoy.config.route.v3.HeaderMatcher.contains_match is deprecated. See envoy/config/route/v3/route_components.proto;l=2302
         If specified, header match will be performed based on whether the header value contains
         the given value or not.
         Note: empty contains match is not allowed, please use present_match instead.
         This field is deprecated. Please use :ref:`string_match <envoy_v3_api_field_config.route.v3.HeaderMatcher.string_match>`.
        
         Examples:
        
         * The value ``abcd`` matches the value ``xyzabcdpqr``, but not for ``xyzbcdpqr``.
         
        string contains_match = 12 [deprecated = true, (.validate.rules) = { ... }
        Specified by:
        getContainsMatchBytes in interface HeaderMatcherOrBuilder
        Returns:
        The bytes for containsMatch.
      • setContainsMatch

        @Deprecated
        public HeaderMatcher.Builder setContainsMatch​(java.lang.String value)
        Deprecated.
        envoy.config.route.v3.HeaderMatcher.contains_match is deprecated. See envoy/config/route/v3/route_components.proto;l=2302
         If specified, header match will be performed based on whether the header value contains
         the given value or not.
         Note: empty contains match is not allowed, please use present_match instead.
         This field is deprecated. Please use :ref:`string_match <envoy_v3_api_field_config.route.v3.HeaderMatcher.string_match>`.
        
         Examples:
        
         * The value ``abcd`` matches the value ``xyzabcdpqr``, but not for ``xyzbcdpqr``.
         
        string contains_match = 12 [deprecated = true, (.validate.rules) = { ... }
        Parameters:
        value - The containsMatch to set.
        Returns:
        This builder for chaining.
      • clearContainsMatch

        @Deprecated
        public HeaderMatcher.Builder clearContainsMatch()
        Deprecated.
        envoy.config.route.v3.HeaderMatcher.contains_match is deprecated. See envoy/config/route/v3/route_components.proto;l=2302
         If specified, header match will be performed based on whether the header value contains
         the given value or not.
         Note: empty contains match is not allowed, please use present_match instead.
         This field is deprecated. Please use :ref:`string_match <envoy_v3_api_field_config.route.v3.HeaderMatcher.string_match>`.
        
         Examples:
        
         * The value ``abcd`` matches the value ``xyzabcdpqr``, but not for ``xyzbcdpqr``.
         
        string contains_match = 12 [deprecated = true, (.validate.rules) = { ... }
        Returns:
        This builder for chaining.
      • setContainsMatchBytes

        @Deprecated
        public HeaderMatcher.Builder setContainsMatchBytes​(com.google.protobuf.ByteString value)
        Deprecated.
        envoy.config.route.v3.HeaderMatcher.contains_match is deprecated. See envoy/config/route/v3/route_components.proto;l=2302
         If specified, header match will be performed based on whether the header value contains
         the given value or not.
         Note: empty contains match is not allowed, please use present_match instead.
         This field is deprecated. Please use :ref:`string_match <envoy_v3_api_field_config.route.v3.HeaderMatcher.string_match>`.
        
         Examples:
        
         * The value ``abcd`` matches the value ``xyzabcdpqr``, but not for ``xyzbcdpqr``.
         
        string contains_match = 12 [deprecated = true, (.validate.rules) = { ... }
        Parameters:
        value - The bytes for containsMatch to set.
        Returns:
        This builder for chaining.
      • hasStringMatch

        public boolean hasStringMatch()
         If specified, header match will be performed based on the string match of the header value.
         
        .envoy.type.matcher.v3.StringMatcher string_match = 13;
        Specified by:
        hasStringMatch in interface HeaderMatcherOrBuilder
        Returns:
        Whether the stringMatch field is set.
      • getStringMatch

        public StringMatcher getStringMatch()
         If specified, header match will be performed based on the string match of the header value.
         
        .envoy.type.matcher.v3.StringMatcher string_match = 13;
        Specified by:
        getStringMatch in interface HeaderMatcherOrBuilder
        Returns:
        The stringMatch.
      • setStringMatch

        public HeaderMatcher.Builder setStringMatch​(StringMatcher value)
         If specified, header match will be performed based on the string match of the header value.
         
        .envoy.type.matcher.v3.StringMatcher string_match = 13;
      • setStringMatch

        public HeaderMatcher.Builder setStringMatch​(StringMatcher.Builder builderForValue)
         If specified, header match will be performed based on the string match of the header value.
         
        .envoy.type.matcher.v3.StringMatcher string_match = 13;
      • mergeStringMatch

        public HeaderMatcher.Builder mergeStringMatch​(StringMatcher value)
         If specified, header match will be performed based on the string match of the header value.
         
        .envoy.type.matcher.v3.StringMatcher string_match = 13;
      • clearStringMatch

        public HeaderMatcher.Builder clearStringMatch()
         If specified, header match will be performed based on the string match of the header value.
         
        .envoy.type.matcher.v3.StringMatcher string_match = 13;
      • getStringMatchBuilder

        public StringMatcher.Builder getStringMatchBuilder()
         If specified, header match will be performed based on the string match of the header value.
         
        .envoy.type.matcher.v3.StringMatcher string_match = 13;
      • getStringMatchFieldBuilder

        private com.google.protobuf.SingleFieldBuilder<StringMatcher,​StringMatcher.Builder,​StringMatcherOrBuilder> getStringMatchFieldBuilder()
         If specified, header match will be performed based on the string match of the header value.
         
        .envoy.type.matcher.v3.StringMatcher string_match = 13;
      • getInvertMatch

        public boolean getInvertMatch()
         If specified, the match result will be inverted before checking. Defaults to false.
        
         Examples:
        
         * The regex ``\d{3}`` does not match the value ``1234``, so it will match when inverted.
         * The range [-10,0) will match the value -1, so it will not match when inverted.
         
        bool invert_match = 8;
        Specified by:
        getInvertMatch in interface HeaderMatcherOrBuilder
        Returns:
        The invertMatch.
      • setInvertMatch

        public HeaderMatcher.Builder setInvertMatch​(boolean value)
         If specified, the match result will be inverted before checking. Defaults to false.
        
         Examples:
        
         * The regex ``\d{3}`` does not match the value ``1234``, so it will match when inverted.
         * The range [-10,0) will match the value -1, so it will not match when inverted.
         
        bool invert_match = 8;
        Parameters:
        value - The invertMatch to set.
        Returns:
        This builder for chaining.
      • clearInvertMatch

        public HeaderMatcher.Builder clearInvertMatch()
         If specified, the match result will be inverted before checking. Defaults to false.
        
         Examples:
        
         * The regex ``\d{3}`` does not match the value ``1234``, so it will match when inverted.
         * The range [-10,0) will match the value -1, so it will not match when inverted.
         
        bool invert_match = 8;
        Returns:
        This builder for chaining.
      • getTreatMissingHeaderAsEmpty

        public boolean getTreatMissingHeaderAsEmpty()
         If specified, for any header match rule, if the header match rule specified header
         does not exist, this header value will be treated as empty. Defaults to false.
        
         Examples:
        
         * The header match rule specified header "header1" to range match of [0, 10],
         :ref:`invert_match <envoy_v3_api_field_config.route.v3.HeaderMatcher.invert_match>`
         is set to true and :ref:`treat_missing_header_as_empty <envoy_v3_api_field_config.route.v3.HeaderMatcher.treat_missing_header_as_empty>`
         is set to true; The "header1" header is not present. The match rule will
         treat the "header1" as an empty header. The empty header does not match the range,
         so it will match when inverted.
         * The header match rule specified header "header2" to range match of [0, 10],
         :ref:`invert_match <envoy_v3_api_field_config.route.v3.HeaderMatcher.invert_match>`
         is set to true and :ref:`treat_missing_header_as_empty <envoy_v3_api_field_config.route.v3.HeaderMatcher.treat_missing_header_as_empty>`
         is set to false; The "header2" header is not present and the header
         matcher rule for "header2" will be ignored so it will not match.
         * The header match rule specified header "header3" to a string regex match
         ``^$`` which means an empty string, and
         :ref:`treat_missing_header_as_empty <envoy_v3_api_field_config.route.v3.HeaderMatcher.treat_missing_header_as_empty>`
         is set to true; The "header3" header is not present.
         The match rule will treat the "header3" header as an empty header so it will match.
         * The header match rule specified header "header4" to a string regex match
         ``^$`` which means an empty string, and
         :ref:`treat_missing_header_as_empty <envoy_v3_api_field_config.route.v3.HeaderMatcher.treat_missing_header_as_empty>`
         is set to false; The "header4" header is not present.
         The match rule for "header4" will be ignored so it will not match.
         
        bool treat_missing_header_as_empty = 14;
        Specified by:
        getTreatMissingHeaderAsEmpty in interface HeaderMatcherOrBuilder
        Returns:
        The treatMissingHeaderAsEmpty.
      • setTreatMissingHeaderAsEmpty

        public HeaderMatcher.Builder setTreatMissingHeaderAsEmpty​(boolean value)
         If specified, for any header match rule, if the header match rule specified header
         does not exist, this header value will be treated as empty. Defaults to false.
        
         Examples:
        
         * The header match rule specified header "header1" to range match of [0, 10],
         :ref:`invert_match <envoy_v3_api_field_config.route.v3.HeaderMatcher.invert_match>`
         is set to true and :ref:`treat_missing_header_as_empty <envoy_v3_api_field_config.route.v3.HeaderMatcher.treat_missing_header_as_empty>`
         is set to true; The "header1" header is not present. The match rule will
         treat the "header1" as an empty header. The empty header does not match the range,
         so it will match when inverted.
         * The header match rule specified header "header2" to range match of [0, 10],
         :ref:`invert_match <envoy_v3_api_field_config.route.v3.HeaderMatcher.invert_match>`
         is set to true and :ref:`treat_missing_header_as_empty <envoy_v3_api_field_config.route.v3.HeaderMatcher.treat_missing_header_as_empty>`
         is set to false; The "header2" header is not present and the header
         matcher rule for "header2" will be ignored so it will not match.
         * The header match rule specified header "header3" to a string regex match
         ``^$`` which means an empty string, and
         :ref:`treat_missing_header_as_empty <envoy_v3_api_field_config.route.v3.HeaderMatcher.treat_missing_header_as_empty>`
         is set to true; The "header3" header is not present.
         The match rule will treat the "header3" header as an empty header so it will match.
         * The header match rule specified header "header4" to a string regex match
         ``^$`` which means an empty string, and
         :ref:`treat_missing_header_as_empty <envoy_v3_api_field_config.route.v3.HeaderMatcher.treat_missing_header_as_empty>`
         is set to false; The "header4" header is not present.
         The match rule for "header4" will be ignored so it will not match.
         
        bool treat_missing_header_as_empty = 14;
        Parameters:
        value - The treatMissingHeaderAsEmpty to set.
        Returns:
        This builder for chaining.
      • clearTreatMissingHeaderAsEmpty

        public HeaderMatcher.Builder clearTreatMissingHeaderAsEmpty()
         If specified, for any header match rule, if the header match rule specified header
         does not exist, this header value will be treated as empty. Defaults to false.
        
         Examples:
        
         * The header match rule specified header "header1" to range match of [0, 10],
         :ref:`invert_match <envoy_v3_api_field_config.route.v3.HeaderMatcher.invert_match>`
         is set to true and :ref:`treat_missing_header_as_empty <envoy_v3_api_field_config.route.v3.HeaderMatcher.treat_missing_header_as_empty>`
         is set to true; The "header1" header is not present. The match rule will
         treat the "header1" as an empty header. The empty header does not match the range,
         so it will match when inverted.
         * The header match rule specified header "header2" to range match of [0, 10],
         :ref:`invert_match <envoy_v3_api_field_config.route.v3.HeaderMatcher.invert_match>`
         is set to true and :ref:`treat_missing_header_as_empty <envoy_v3_api_field_config.route.v3.HeaderMatcher.treat_missing_header_as_empty>`
         is set to false; The "header2" header is not present and the header
         matcher rule for "header2" will be ignored so it will not match.
         * The header match rule specified header "header3" to a string regex match
         ``^$`` which means an empty string, and
         :ref:`treat_missing_header_as_empty <envoy_v3_api_field_config.route.v3.HeaderMatcher.treat_missing_header_as_empty>`
         is set to true; The "header3" header is not present.
         The match rule will treat the "header3" header as an empty header so it will match.
         * The header match rule specified header "header4" to a string regex match
         ``^$`` which means an empty string, and
         :ref:`treat_missing_header_as_empty <envoy_v3_api_field_config.route.v3.HeaderMatcher.treat_missing_header_as_empty>`
         is set to false; The "header4" header is not present.
         The match rule for "header4" will be ignored so it will not match.
         
        bool treat_missing_header_as_empty = 14;
        Returns:
        This builder for chaining.