headerv3

package
v1.33.0-20240425200945... Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: unknown License: Apache-2.0 Imports: 6 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var File_envoy_extensions_http_stateful_session_header_v3_header_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type HeaderBasedSessionState

type HeaderBasedSessionState struct {

	// The name that will be used to obtain header value from downstream HTTP request or generate
	// new header for downstream.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// contains filtered or unexported fields
}

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]

func (*HeaderBasedSessionState) Descriptor deprecated

func (*HeaderBasedSessionState) Descriptor() ([]byte, []int)

Deprecated: Use HeaderBasedSessionState.ProtoReflect.Descriptor instead.

func (*HeaderBasedSessionState) GetName

func (x *HeaderBasedSessionState) GetName() string

func (*HeaderBasedSessionState) ProtoMessage

func (*HeaderBasedSessionState) ProtoMessage()

func (*HeaderBasedSessionState) ProtoReflect

func (x *HeaderBasedSessionState) ProtoReflect() protoreflect.Message

func (*HeaderBasedSessionState) Reset

func (x *HeaderBasedSessionState) Reset()

func (*HeaderBasedSessionState) String

func (x *HeaderBasedSessionState) String() string

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL