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, Cloneable
    Enclosing class:
    HeaderMatcher

    public static final class HeaderMatcher.Builder
    extends com.google.protobuf.GeneratedMessageV3.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",
           "exact_match": "POST"
         }
     .. attention::
       In the absence of any header match specifier, match will default to :ref:`present_match
       <envoy_api_field_route.HeaderMatcher.present_match>`. i.e, a request that has the :ref:`name
       <envoy_api_field_route.HeaderMatcher.name>` header will match, regardless of the header's
       value.
      [#next-major-version: HeaderMatcher should be refactored to use StringMatcher.]
     [#next-free-field: 12]
     
    Protobuf type envoy.api.v2.route.HeaderMatcher
    • Method Detail

      • getDescriptor

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

        protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()
        Specified by:
        internalGetFieldAccessorTable in class com.google.protobuf.GeneratedMessageV3.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.GeneratedMessageV3.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.GeneratedMessageV3.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
      • clone

        public HeaderMatcher.Builder clone()
        Specified by:
        clone in interface com.google.protobuf.Message.Builder
        Specified by:
        clone in interface com.google.protobuf.MessageLite.Builder
        Overrides:
        clone in class com.google.protobuf.GeneratedMessageV3.Builder<HeaderMatcher.Builder>
      • setField

        public HeaderMatcher.Builder setField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                              Object value)
        Specified by:
        setField in interface com.google.protobuf.Message.Builder
        Overrides:
        setField in class com.google.protobuf.GeneratedMessageV3.Builder<HeaderMatcher.Builder>
      • clearField

        public HeaderMatcher.Builder clearField​(com.google.protobuf.Descriptors.FieldDescriptor field)
        Specified by:
        clearField in interface com.google.protobuf.Message.Builder
        Overrides:
        clearField in class com.google.protobuf.GeneratedMessageV3.Builder<HeaderMatcher.Builder>
      • clearOneof

        public HeaderMatcher.Builder clearOneof​(com.google.protobuf.Descriptors.OneofDescriptor oneof)
        Specified by:
        clearOneof in interface com.google.protobuf.Message.Builder
        Overrides:
        clearOneof in class com.google.protobuf.GeneratedMessageV3.Builder<HeaderMatcher.Builder>
      • setRepeatedField

        public HeaderMatcher.Builder setRepeatedField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                                      int index,
                                                      Object value)
        Specified by:
        setRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        setRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<HeaderMatcher.Builder>
      • addRepeatedField

        public HeaderMatcher.Builder addRepeatedField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                                      Object value)
        Specified by:
        addRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        addRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<HeaderMatcher.Builder>
      • 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.GeneratedMessageV3.Builder<HeaderMatcher.Builder>
      • mergeFrom

        public HeaderMatcher.Builder mergeFrom​(com.google.protobuf.CodedInputStream input,
                                               com.google.protobuf.ExtensionRegistryLite extensionRegistry)
                                        throws 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:
        IOException
      • getName

        public 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​(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

        public boolean hasExactMatch()
         If specified, header match will be performed based on the value of the header.
         
        string exact_match = 4;
        Specified by:
        hasExactMatch in interface HeaderMatcherOrBuilder
        Returns:
        Whether the exactMatch field is set.
      • getExactMatch

        public String getExactMatch()
         If specified, header match will be performed based on the value of the header.
         
        string exact_match = 4;
        Specified by:
        getExactMatch in interface HeaderMatcherOrBuilder
        Returns:
        The exactMatch.
      • getExactMatchBytes

        public com.google.protobuf.ByteString getExactMatchBytes()
         If specified, header match will be performed based on the value of the header.
         
        string exact_match = 4;
        Specified by:
        getExactMatchBytes in interface HeaderMatcherOrBuilder
        Returns:
        The bytes for exactMatch.
      • setExactMatch

        public HeaderMatcher.Builder setExactMatch​(String value)
         If specified, header match will be performed based on the value of the header.
         
        string exact_match = 4;
        Parameters:
        value - The exactMatch to set.
        Returns:
        This builder for chaining.
      • clearExactMatch

        public HeaderMatcher.Builder clearExactMatch()
         If specified, header match will be performed based on the value of the header.
         
        string exact_match = 4;
        Returns:
        This builder for chaining.
      • setExactMatchBytes

        public HeaderMatcher.Builder setExactMatchBytes​(com.google.protobuf.ByteString value)
         If specified, header match will be performed based on the value of the header.
         
        string exact_match = 4;
        Parameters:
        value - The bytes for exactMatch to set.
        Returns:
        This builder for chaining.
      • hasRegexMatch

        @Deprecated
        public boolean hasRegexMatch()
        Deprecated.
        envoy.api.v2.route.HeaderMatcher.regex_match is deprecated. See envoy/api/v2/route/route_components.proto;l=1541
         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. The regex grammar used in the value field is defined
         `here <https://en.cppreference.com/w/cpp/regex/ecmascript>`_.
         Examples:
         * The regex ``\d{3}`` matches the value *123*
         * The regex ``\d{3}`` does not match the value *1234*
         * The regex ``\d{3}`` does not match the value *123.456*
         .. attention::
           This field has been deprecated in favor of `safe_regex_match` as it is not safe for use
           with untrusted input in all cases.
         
        string regex_match = 5 [deprecated = true, (.validate.rules) = { ... }
        Specified by:
        hasRegexMatch in interface HeaderMatcherOrBuilder
        Returns:
        Whether the regexMatch field is set.
      • getRegexMatch

        @Deprecated
        public String getRegexMatch()
        Deprecated.
        envoy.api.v2.route.HeaderMatcher.regex_match is deprecated. See envoy/api/v2/route/route_components.proto;l=1541
         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. The regex grammar used in the value field is defined
         `here <https://en.cppreference.com/w/cpp/regex/ecmascript>`_.
         Examples:
         * The regex ``\d{3}`` matches the value *123*
         * The regex ``\d{3}`` does not match the value *1234*
         * The regex ``\d{3}`` does not match the value *123.456*
         .. attention::
           This field has been deprecated in favor of `safe_regex_match` as it is not safe for use
           with untrusted input in all cases.
         
        string regex_match = 5 [deprecated = true, (.validate.rules) = { ... }
        Specified by:
        getRegexMatch in interface HeaderMatcherOrBuilder
        Returns:
        The regexMatch.
      • getRegexMatchBytes

        @Deprecated
        public com.google.protobuf.ByteString getRegexMatchBytes()
        Deprecated.
        envoy.api.v2.route.HeaderMatcher.regex_match is deprecated. See envoy/api/v2/route/route_components.proto;l=1541
         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. The regex grammar used in the value field is defined
         `here <https://en.cppreference.com/w/cpp/regex/ecmascript>`_.
         Examples:
         * The regex ``\d{3}`` matches the value *123*
         * The regex ``\d{3}`` does not match the value *1234*
         * The regex ``\d{3}`` does not match the value *123.456*
         .. attention::
           This field has been deprecated in favor of `safe_regex_match` as it is not safe for use
           with untrusted input in all cases.
         
        string regex_match = 5 [deprecated = true, (.validate.rules) = { ... }
        Specified by:
        getRegexMatchBytes in interface HeaderMatcherOrBuilder
        Returns:
        The bytes for regexMatch.
      • setRegexMatch

        @Deprecated
        public HeaderMatcher.Builder setRegexMatch​(String value)
        Deprecated.
        envoy.api.v2.route.HeaderMatcher.regex_match is deprecated. See envoy/api/v2/route/route_components.proto;l=1541
         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. The regex grammar used in the value field is defined
         `here <https://en.cppreference.com/w/cpp/regex/ecmascript>`_.
         Examples:
         * The regex ``\d{3}`` matches the value *123*
         * The regex ``\d{3}`` does not match the value *1234*
         * The regex ``\d{3}`` does not match the value *123.456*
         .. attention::
           This field has been deprecated in favor of `safe_regex_match` as it is not safe for use
           with untrusted input in all cases.
         
        string regex_match = 5 [deprecated = true, (.validate.rules) = { ... }
        Parameters:
        value - The regexMatch to set.
        Returns:
        This builder for chaining.
      • clearRegexMatch

        @Deprecated
        public HeaderMatcher.Builder clearRegexMatch()
        Deprecated.
        envoy.api.v2.route.HeaderMatcher.regex_match is deprecated. See envoy/api/v2/route/route_components.proto;l=1541
         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. The regex grammar used in the value field is defined
         `here <https://en.cppreference.com/w/cpp/regex/ecmascript>`_.
         Examples:
         * The regex ``\d{3}`` matches the value *123*
         * The regex ``\d{3}`` does not match the value *1234*
         * The regex ``\d{3}`` does not match the value *123.456*
         .. attention::
           This field has been deprecated in favor of `safe_regex_match` as it is not safe for use
           with untrusted input in all cases.
         
        string regex_match = 5 [deprecated = true, (.validate.rules) = { ... }
        Returns:
        This builder for chaining.
      • setRegexMatchBytes

        @Deprecated
        public HeaderMatcher.Builder setRegexMatchBytes​(com.google.protobuf.ByteString value)
        Deprecated.
        envoy.api.v2.route.HeaderMatcher.regex_match is deprecated. See envoy/api/v2/route/route_components.proto;l=1541
         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. The regex grammar used in the value field is defined
         `here <https://en.cppreference.com/w/cpp/regex/ecmascript>`_.
         Examples:
         * The regex ``\d{3}`` matches the value *123*
         * The regex ``\d{3}`` does not match the value *1234*
         * The regex ``\d{3}`` does not match the value *123.456*
         .. attention::
           This field has been deprecated in favor of `safe_regex_match` as it is not safe for use
           with untrusted input in all cases.
         
        string regex_match = 5 [deprecated = true, (.validate.rules) = { ... }
        Parameters:
        value - The bytes for regexMatch to set.
        Returns:
        This builder for chaining.
      • hasSafeRegexMatch

        public boolean hasSafeRegexMatch()
         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.
         
        .envoy.type.matcher.RegexMatcher safe_regex_match = 11;
        Specified by:
        hasSafeRegexMatch in interface HeaderMatcherOrBuilder
        Returns:
        Whether the safeRegexMatch field is set.
      • getSafeRegexMatch

        public RegexMatcher getSafeRegexMatch()
         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.
         
        .envoy.type.matcher.RegexMatcher safe_regex_match = 11;
        Specified by:
        getSafeRegexMatch in interface HeaderMatcherOrBuilder
        Returns:
        The safeRegexMatch.
      • setSafeRegexMatch

        public HeaderMatcher.Builder setSafeRegexMatch​(RegexMatcher value)
         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.
         
        .envoy.type.matcher.RegexMatcher safe_regex_match = 11;
      • setSafeRegexMatch

        public HeaderMatcher.Builder setSafeRegexMatch​(RegexMatcher.Builder builderForValue)
         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.
         
        .envoy.type.matcher.RegexMatcher safe_regex_match = 11;
      • mergeSafeRegexMatch

        public HeaderMatcher.Builder mergeSafeRegexMatch​(RegexMatcher value)
         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.
         
        .envoy.type.matcher.RegexMatcher safe_regex_match = 11;
      • clearSafeRegexMatch

        public HeaderMatcher.Builder clearSafeRegexMatch()
         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.
         
        .envoy.type.matcher.RegexMatcher safe_regex_match = 11;
      • getSafeRegexMatchBuilder

        public RegexMatcher.Builder getSafeRegexMatchBuilder()
         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.
         
        .envoy.type.matcher.RegexMatcher safe_regex_match = 11;
      • getSafeRegexMatchOrBuilder

        public RegexMatcherOrBuilder getSafeRegexMatchOrBuilder()
         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.
         
        .envoy.type.matcher.RegexMatcher safe_regex_match = 11;
        Specified by:
        getSafeRegexMatchOrBuilder in interface HeaderMatcherOrBuilder
      • 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.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.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.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.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.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.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.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.Int64Range range_match = 6;
        Specified by:
        getRangeMatchOrBuilder in interface HeaderMatcherOrBuilder
      • hasPresentMatch

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

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

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

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

        public boolean hasPrefixMatch()
         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.
         Examples:
         * The prefix *abcd* matches the value *abcdxyz*, but not for *abcxyz*.
         
        string prefix_match = 9 [(.validate.rules) = { ... }
        Specified by:
        hasPrefixMatch in interface HeaderMatcherOrBuilder
        Returns:
        Whether the prefixMatch field is set.
      • getPrefixMatch

        public String getPrefixMatch()
         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.
         Examples:
         * The prefix *abcd* matches the value *abcdxyz*, but not for *abcxyz*.
         
        string prefix_match = 9 [(.validate.rules) = { ... }
        Specified by:
        getPrefixMatch in interface HeaderMatcherOrBuilder
        Returns:
        The prefixMatch.
      • getPrefixMatchBytes

        public com.google.protobuf.ByteString getPrefixMatchBytes()
         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.
         Examples:
         * The prefix *abcd* matches the value *abcdxyz*, but not for *abcxyz*.
         
        string prefix_match = 9 [(.validate.rules) = { ... }
        Specified by:
        getPrefixMatchBytes in interface HeaderMatcherOrBuilder
        Returns:
        The bytes for prefixMatch.
      • setPrefixMatch

        public HeaderMatcher.Builder setPrefixMatch​(String value)
         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.
         Examples:
         * The prefix *abcd* matches the value *abcdxyz*, but not for *abcxyz*.
         
        string prefix_match = 9 [(.validate.rules) = { ... }
        Parameters:
        value - The prefixMatch to set.
        Returns:
        This builder for chaining.
      • clearPrefixMatch

        public HeaderMatcher.Builder clearPrefixMatch()
         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.
         Examples:
         * The prefix *abcd* matches the value *abcdxyz*, but not for *abcxyz*.
         
        string prefix_match = 9 [(.validate.rules) = { ... }
        Returns:
        This builder for chaining.
      • setPrefixMatchBytes

        public HeaderMatcher.Builder setPrefixMatchBytes​(com.google.protobuf.ByteString value)
         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.
         Examples:
         * The prefix *abcd* matches the value *abcdxyz*, but not for *abcxyz*.
         
        string prefix_match = 9 [(.validate.rules) = { ... }
        Parameters:
        value - The bytes for prefixMatch to set.
        Returns:
        This builder for chaining.
      • hasSuffixMatch

        public boolean hasSuffixMatch()
         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.
         Examples:
         * The suffix *abcd* matches the value *xyzabcd*, but not for *xyzbcd*.
         
        string suffix_match = 10 [(.validate.rules) = { ... }
        Specified by:
        hasSuffixMatch in interface HeaderMatcherOrBuilder
        Returns:
        Whether the suffixMatch field is set.
      • getSuffixMatch

        public String getSuffixMatch()
         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.
         Examples:
         * The suffix *abcd* matches the value *xyzabcd*, but not for *xyzbcd*.
         
        string suffix_match = 10 [(.validate.rules) = { ... }
        Specified by:
        getSuffixMatch in interface HeaderMatcherOrBuilder
        Returns:
        The suffixMatch.
      • getSuffixMatchBytes

        public com.google.protobuf.ByteString getSuffixMatchBytes()
         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.
         Examples:
         * The suffix *abcd* matches the value *xyzabcd*, but not for *xyzbcd*.
         
        string suffix_match = 10 [(.validate.rules) = { ... }
        Specified by:
        getSuffixMatchBytes in interface HeaderMatcherOrBuilder
        Returns:
        The bytes for suffixMatch.
      • setSuffixMatch

        public HeaderMatcher.Builder setSuffixMatch​(String value)
         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.
         Examples:
         * The suffix *abcd* matches the value *xyzabcd*, but not for *xyzbcd*.
         
        string suffix_match = 10 [(.validate.rules) = { ... }
        Parameters:
        value - The suffixMatch to set.
        Returns:
        This builder for chaining.
      • clearSuffixMatch

        public HeaderMatcher.Builder clearSuffixMatch()
         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.
         Examples:
         * The suffix *abcd* matches the value *xyzabcd*, but not for *xyzbcd*.
         
        string suffix_match = 10 [(.validate.rules) = { ... }
        Returns:
        This builder for chaining.
      • setSuffixMatchBytes

        public HeaderMatcher.Builder setSuffixMatchBytes​(com.google.protobuf.ByteString value)
         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.
         Examples:
         * The suffix *abcd* matches the value *xyzabcd*, but not for *xyzbcd*.
         
        string suffix_match = 10 [(.validate.rules) = { ... }
        Parameters:
        value - The bytes for suffixMatch to set.
        Returns:
        This builder for chaining.
      • 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.
      • setUnknownFields

        public final HeaderMatcher.Builder setUnknownFields​(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        setUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        setUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<HeaderMatcher.Builder>
      • mergeUnknownFields

        public final HeaderMatcher.Builder mergeUnknownFields​(com.google.protobuf.UnknownFieldSet unknownFields)
        Specified by:
        mergeUnknownFields in interface com.google.protobuf.Message.Builder
        Overrides:
        mergeUnknownFields in class com.google.protobuf.GeneratedMessageV3.Builder<HeaderMatcher.Builder>