Class HeaderBasedSessionState.Builder

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

    public static final class HeaderBasedSessionState.Builder
    extends com.google.protobuf.GeneratedMessageV3.Builder<HeaderBasedSessionState.Builder>
    implements HeaderBasedSessionStateOrBuilder
     This extension allows the session state to be tracked via request headers.
     This extension encodes the address of the upstream host selected by the load balancer
     into a response header with the :ref:`header configuration
     <envoy_v3_api_msg_extensions.http.stateful_session.header.v3.HeaderBasedSessionState>`.
     When new requests are incoming, this extension will try to parse the specific upstream host
     address by header name. If the address parsed from the header corresponds to a valid
     upstream host, this upstream host will be selected first. See :ref:`stateful session filter
     <envoy_v3_api_msg_extensions.filters.http.stateful_session.v3.StatefulSession>`.
     For example, if the header name is set to ``session-header``, envoy will prefer ``1.2.3.4:80``
     as the upstream host when the request contains the following header:
     .. code-block:: none
         session-header: "MS4yLjMuNDo4MA=="
     When processing the upstream response, if ``1.2.3.4:80`` is indeed the final choice the extension
     does nothing. If ``1.2.3.4:80`` is not the final choice, the new selected host will be set to
     response headers (via the ``session-header`` response header).
     [#extension: envoy.http.stateful_session.header]
     
    Protobuf type envoy.extensions.http.stateful_session.header.v3.HeaderBasedSessionState
    • 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<HeaderBasedSessionState.Builder>
      • clear

        public HeaderBasedSessionState.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<HeaderBasedSessionState.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<HeaderBasedSessionState.Builder>
      • getDefaultInstanceForType

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

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

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

        public HeaderBasedSessionState.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<HeaderBasedSessionState.Builder>
      • setField

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

        public HeaderBasedSessionState.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<HeaderBasedSessionState.Builder>
      • clearOneof

        public HeaderBasedSessionState.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<HeaderBasedSessionState.Builder>
      • setRepeatedField

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

        public HeaderBasedSessionState.Builder addRepeatedField​(com.google.protobuf.Descriptors.FieldDescriptor field,
                                                                java.lang.Object value)
        Specified by:
        addRepeatedField in interface com.google.protobuf.Message.Builder
        Overrides:
        addRepeatedField in class com.google.protobuf.GeneratedMessageV3.Builder<HeaderBasedSessionState.Builder>
      • isInitialized

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

        public HeaderBasedSessionState.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<HeaderBasedSessionState.Builder>
        Throws:
        java.io.IOException
      • getName

        public java.lang.String getName()
         The name that will be used to obtain header value from downstream HTTP request or generate
         new header for downstream.
         
        string name = 1 [(.validate.rules) = { ... }
        Specified by:
        getName in interface HeaderBasedSessionStateOrBuilder
        Returns:
        The name.
      • getNameBytes

        public com.google.protobuf.ByteString getNameBytes()
         The name that will be used to obtain header value from downstream HTTP request or generate
         new header for downstream.
         
        string name = 1 [(.validate.rules) = { ... }
        Specified by:
        getNameBytes in interface HeaderBasedSessionStateOrBuilder
        Returns:
        The bytes for name.
      • setName

        public HeaderBasedSessionState.Builder setName​(java.lang.String value)
         The name that will be used to obtain header value from downstream HTTP request or generate
         new header for downstream.
         
        string name = 1 [(.validate.rules) = { ... }
        Parameters:
        value - The name to set.
        Returns:
        This builder for chaining.
      • clearName

        public HeaderBasedSessionState.Builder clearName()
         The name that will be used to obtain header value from downstream HTTP request or generate
         new header for downstream.
         
        string name = 1 [(.validate.rules) = { ... }
        Returns:
        This builder for chaining.
      • setNameBytes

        public HeaderBasedSessionState.Builder setNameBytes​(com.google.protobuf.ByteString value)
         The name that will be used to obtain header value from downstream HTTP request or generate
         new header for downstream.
         
        string name = 1 [(.validate.rules) = { ... }
        Parameters:
        value - The bytes for name to set.
        Returns:
        This builder for chaining.
      • setUnknownFields

        public final HeaderBasedSessionState.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<HeaderBasedSessionState.Builder>
      • mergeUnknownFields

        public final HeaderBasedSessionState.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<HeaderBasedSessionState.Builder>