Class HeaderBasedSessionState.Builder
java.lang.Object
com.google.protobuf.AbstractMessageLite.Builder
com.google.protobuf.AbstractMessage.Builder<BuilderT>
com.google.protobuf.GeneratedMessageV3.Builder<HeaderBasedSessionState.Builder>
io.envoyproxy.envoy.extensions.http.stateful_session.header.v3.HeaderBasedSessionState.Builder
- All Implemented Interfaces:
com.google.protobuf.Message.Builder,com.google.protobuf.MessageLite.Builder,com.google.protobuf.MessageLiteOrBuilder,com.google.protobuf.MessageOrBuilder,HeaderBasedSessionStateOrBuilder,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 Summary
Modifier and TypeMethodDescriptionaddRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value) build()clear()clearField(com.google.protobuf.Descriptors.FieldDescriptor field) The name that will be used to obtain header value from downstream HTTP request or generate new header for downstream.clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) clone()static final com.google.protobuf.Descriptors.Descriptorcom.google.protobuf.Descriptors.DescriptorgetName()The name that will be used to obtain header value from downstream HTTP request or generate new header for downstream.com.google.protobuf.ByteStringThe name that will be used to obtain header value from downstream HTTP request or generate new header for downstream.protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTablefinal booleanmergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) mergeFrom(com.google.protobuf.Message other) mergeFrom(HeaderBasedSessionState other) mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields) The name that will be used to obtain header value from downstream HTTP request or generate new header for downstream.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.setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value) setUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields) Methods inherited from class com.google.protobuf.GeneratedMessageV3.Builder
getAllFields, getField, getFieldBuilder, getOneofFieldDescriptor, getParentForChildren, getRepeatedField, getRepeatedFieldBuilder, getRepeatedFieldCount, getUnknownFields, getUnknownFieldSetBuilder, hasField, hasOneof, internalGetMapField, internalGetMapFieldReflection, internalGetMutableMapField, internalGetMutableMapFieldReflection, isClean, markClean, mergeUnknownLengthDelimitedField, mergeUnknownVarintField, newBuilderForField, onBuilt, onChanged, parseUnknownField, setUnknownFieldSetBuilder, setUnknownFieldsProto3Methods inherited from class com.google.protobuf.AbstractMessage.Builder
findInitializationErrors, getInitializationErrorString, internalMergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, mergeFrom, newUninitializedMessageException, toStringMethods inherited from class com.google.protobuf.AbstractMessageLite.Builder
addAll, addAll, mergeDelimitedFrom, mergeDelimitedFrom, mergeFrom, newUninitializedMessageExceptionMethods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, waitMethods inherited from interface com.google.protobuf.Message.Builder
mergeDelimitedFrom, mergeDelimitedFromMethods inherited from interface com.google.protobuf.MessageLite.Builder
mergeFromMethods inherited from interface com.google.protobuf.MessageOrBuilder
findInitializationErrors, getAllFields, getField, getInitializationErrorString, getOneofFieldDescriptor, getRepeatedField, getRepeatedFieldCount, getUnknownFields, hasField, hasOneof
-
Method Details
-
getDescriptor
public static final com.google.protobuf.Descriptors.Descriptor getDescriptor() -
internalGetFieldAccessorTable
protected com.google.protobuf.GeneratedMessageV3.FieldAccessorTable internalGetFieldAccessorTable()- Specified by:
internalGetFieldAccessorTablein classcom.google.protobuf.GeneratedMessageV3.Builder<HeaderBasedSessionState.Builder>
-
clear
- Specified by:
clearin interfacecom.google.protobuf.Message.Builder- Specified by:
clearin interfacecom.google.protobuf.MessageLite.Builder- Overrides:
clearin classcom.google.protobuf.GeneratedMessageV3.Builder<HeaderBasedSessionState.Builder>
-
getDescriptorForType
public com.google.protobuf.Descriptors.Descriptor getDescriptorForType()- Specified by:
getDescriptorForTypein interfacecom.google.protobuf.Message.Builder- Specified by:
getDescriptorForTypein interfacecom.google.protobuf.MessageOrBuilder- Overrides:
getDescriptorForTypein classcom.google.protobuf.GeneratedMessageV3.Builder<HeaderBasedSessionState.Builder>
-
getDefaultInstanceForType
- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageLiteOrBuilder- Specified by:
getDefaultInstanceForTypein interfacecom.google.protobuf.MessageOrBuilder
-
build
- Specified by:
buildin interfacecom.google.protobuf.Message.Builder- Specified by:
buildin interfacecom.google.protobuf.MessageLite.Builder
-
buildPartial
- Specified by:
buildPartialin interfacecom.google.protobuf.Message.Builder- Specified by:
buildPartialin interfacecom.google.protobuf.MessageLite.Builder
-
clone
- Specified by:
clonein interfacecom.google.protobuf.Message.Builder- Specified by:
clonein interfacecom.google.protobuf.MessageLite.Builder- Overrides:
clonein classcom.google.protobuf.GeneratedMessageV3.Builder<HeaderBasedSessionState.Builder>
-
setField
public HeaderBasedSessionState.Builder setField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value) - Specified by:
setFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
setFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<HeaderBasedSessionState.Builder>
-
clearField
public HeaderBasedSessionState.Builder clearField(com.google.protobuf.Descriptors.FieldDescriptor field) - Specified by:
clearFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
clearFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<HeaderBasedSessionState.Builder>
-
clearOneof
public HeaderBasedSessionState.Builder clearOneof(com.google.protobuf.Descriptors.OneofDescriptor oneof) - Specified by:
clearOneofin interfacecom.google.protobuf.Message.Builder- Overrides:
clearOneofin classcom.google.protobuf.GeneratedMessageV3.Builder<HeaderBasedSessionState.Builder>
-
setRepeatedField
public HeaderBasedSessionState.Builder setRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, int index, Object value) - Specified by:
setRepeatedFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
setRepeatedFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<HeaderBasedSessionState.Builder>
-
addRepeatedField
public HeaderBasedSessionState.Builder addRepeatedField(com.google.protobuf.Descriptors.FieldDescriptor field, Object value) - Specified by:
addRepeatedFieldin interfacecom.google.protobuf.Message.Builder- Overrides:
addRepeatedFieldin classcom.google.protobuf.GeneratedMessageV3.Builder<HeaderBasedSessionState.Builder>
-
mergeFrom
- Specified by:
mergeFromin interfacecom.google.protobuf.Message.Builder- Overrides:
mergeFromin classcom.google.protobuf.AbstractMessage.Builder<HeaderBasedSessionState.Builder>
-
mergeFrom
-
isInitialized
public final boolean isInitialized()- Specified by:
isInitializedin interfacecom.google.protobuf.MessageLiteOrBuilder- Overrides:
isInitializedin classcom.google.protobuf.GeneratedMessageV3.Builder<HeaderBasedSessionState.Builder>
-
mergeFrom
public HeaderBasedSessionState.Builder mergeFrom(com.google.protobuf.CodedInputStream input, com.google.protobuf.ExtensionRegistryLite extensionRegistry) throws IOException - Specified by:
mergeFromin interfacecom.google.protobuf.Message.Builder- Specified by:
mergeFromin interfacecom.google.protobuf.MessageLite.Builder- Overrides:
mergeFromin classcom.google.protobuf.AbstractMessage.Builder<HeaderBasedSessionState.Builder>- Throws:
IOException
-
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:
getNamein interfaceHeaderBasedSessionStateOrBuilder- 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:
getNameBytesin interfaceHeaderBasedSessionStateOrBuilder- Returns:
- The bytes for name.
-
setName
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
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
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:
setUnknownFieldsin interfacecom.google.protobuf.Message.Builder- Overrides:
setUnknownFieldsin classcom.google.protobuf.GeneratedMessageV3.Builder<HeaderBasedSessionState.Builder>
-
mergeUnknownFields
public final HeaderBasedSessionState.Builder mergeUnknownFields(com.google.protobuf.UnknownFieldSet unknownFields) - Specified by:
mergeUnknownFieldsin interfacecom.google.protobuf.Message.Builder- Overrides:
mergeUnknownFieldsin classcom.google.protobuf.GeneratedMessageV3.Builder<HeaderBasedSessionState.Builder>
-