Class CookieBasedSessionState.Builder

  • All Implemented Interfaces:
    com.google.protobuf.Message.Builder, com.google.protobuf.MessageLite.Builder, com.google.protobuf.MessageLiteOrBuilder, com.google.protobuf.MessageOrBuilder, CookieBasedSessionStateOrBuilder, Cloneable
    Enclosing class:
    CookieBasedSessionState

    public static final class CookieBasedSessionState.Builder
    extends com.google.protobuf.GeneratedMessageV3.Builder<CookieBasedSessionState.Builder>
    implements CookieBasedSessionStateOrBuilder
     This extension allows the session state to be tracked via cookies.
     This extension first encodes the address of the upstream host selected by the load balancer
     into a ``set-cookie`` response header with the :ref:`cookie configuration
     <envoy_v3_api_field_extensions.http.stateful_session.cookie.v3.CookieBasedSessionState.cookie>`.
     when new requests are incoming, this extension will try to parse the specific upstream host
     address by the cookie name. If the address parsed from the cookie 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 cookie name is set to ``sticky-host``, envoy will prefer ``1.2.3.4:80``
     as the upstream host when the request contains the following header:
     .. code-block:: none
         cookie: sticky-host="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 used to
     update the cookie (via the ``set-cookie`` response header).
     [#extension: envoy.http.stateful_session.cookie]
     
    Protobuf type envoy.extensions.http.stateful_session.cookie.v3.CookieBasedSessionState
    • 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<CookieBasedSessionState.Builder>
      • clear

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

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

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

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

        public CookieBasedSessionState.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<CookieBasedSessionState.Builder>
      • clearField

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

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

        public CookieBasedSessionState.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<CookieBasedSessionState.Builder>
      • addRepeatedField

        public CookieBasedSessionState.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<CookieBasedSessionState.Builder>
      • isInitialized

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

        public CookieBasedSessionState.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<CookieBasedSessionState.Builder>
        Throws:
        IOException
      • hasCookie

        public boolean hasCookie()
         The cookie configuration used to track session state.
         
        .envoy.type.http.v3.Cookie cookie = 1 [(.validate.rules) = { ... }
        Specified by:
        hasCookie in interface CookieBasedSessionStateOrBuilder
        Returns:
        Whether the cookie field is set.
      • getCookie

        public Cookie getCookie()
         The cookie configuration used to track session state.
         
        .envoy.type.http.v3.Cookie cookie = 1 [(.validate.rules) = { ... }
        Specified by:
        getCookie in interface CookieBasedSessionStateOrBuilder
        Returns:
        The cookie.
      • setCookie

        public CookieBasedSessionState.Builder setCookie​(Cookie value)
         The cookie configuration used to track session state.
         
        .envoy.type.http.v3.Cookie cookie = 1 [(.validate.rules) = { ... }
      • mergeCookie

        public CookieBasedSessionState.Builder mergeCookie​(Cookie value)
         The cookie configuration used to track session state.
         
        .envoy.type.http.v3.Cookie cookie = 1 [(.validate.rules) = { ... }
      • clearCookie

        public CookieBasedSessionState.Builder clearCookie()
         The cookie configuration used to track session state.
         
        .envoy.type.http.v3.Cookie cookie = 1 [(.validate.rules) = { ... }
      • getCookieBuilder

        public Cookie.Builder getCookieBuilder()
         The cookie configuration used to track session state.
         
        .envoy.type.http.v3.Cookie cookie = 1 [(.validate.rules) = { ... }
      • setUnknownFields

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

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