package envelopev3

import "github.com/envoyproxy/go-control-plane/envoy/extensions/http/stateful_session/envelope/v3"

Index

Variables

var File_envoy_extensions_http_stateful_session_envelope_v3_envelope_proto protoreflect.FileDescriptor

Types

type EnvelopeSessionState

type EnvelopeSessionState struct {

	// Set the header config to track the session state.
	Header *EnvelopeSessionState_Header `protobuf:"bytes,1,opt,name=header,proto3" json:"header,omitempty"`
	// contains filtered or unexported fields
}

The extension allows the session state is tracked via existing session context that initialized by the upstream server. It assumes that the upstream server will generate the session context (like session id header or cookie) in the initial response of the session and the client will use the same session context in the subsequent requests without any modification.

When processing the response from the upstream, Envoy will check if the response contains the session context. If the response contains the session context, no matter if it's a new session context or an existing one, Envoy will join it and the upstream host as new session context.

When processing the request from the downstream, Envoy will check if the request contains the session context. If the request contains the session context, Envoy will strip the upstream host from the session context.

[#extension: envoy.http.stateful_session.envelope]

func (*EnvelopeSessionState) Descriptor

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

Deprecated: Use EnvelopeSessionState.ProtoReflect.Descriptor instead.

func (*EnvelopeSessionState) GetHeader

func (*EnvelopeSessionState) ProtoMessage

func (*EnvelopeSessionState) ProtoMessage()

func (*EnvelopeSessionState) ProtoReflect

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

func (*EnvelopeSessionState) Reset

func (x *EnvelopeSessionState) Reset()

func (*EnvelopeSessionState) String

func (x *EnvelopeSessionState) String() string

func (*EnvelopeSessionState) Validate

func (m *EnvelopeSessionState) Validate() error

Validate checks the field values on EnvelopeSessionState with the rules defined in the proto definition for this message. If any rules are violated, the first error encountered is returned, or nil if there are no violations.

func (*EnvelopeSessionState) ValidateAll

func (m *EnvelopeSessionState) ValidateAll() error

ValidateAll checks the field values on EnvelopeSessionState with the rules defined in the proto definition for this message. If any rules are violated, the result is a list of violation errors wrapped in EnvelopeSessionStateMultiError, or nil if none found.

type EnvelopeSessionStateMultiError

type EnvelopeSessionStateMultiError []error

EnvelopeSessionStateMultiError is an error wrapping multiple validation errors returned by EnvelopeSessionState.ValidateAll() if the designated constraints aren't met.

func (EnvelopeSessionStateMultiError) AllErrors

func (m EnvelopeSessionStateMultiError) AllErrors() []error

AllErrors returns a list of validation violation errors.

func (EnvelopeSessionStateMultiError) Error

Error returns a concatenation of all the error messages it wraps.

type EnvelopeSessionStateValidationError

type EnvelopeSessionStateValidationError struct {
	// contains filtered or unexported fields
}

EnvelopeSessionStateValidationError is the validation error returned by EnvelopeSessionState.Validate if the designated constraints aren't met.

func (EnvelopeSessionStateValidationError) Cause

Cause function returns cause value.

func (EnvelopeSessionStateValidationError) Error

Error satisfies the builtin error interface

func (EnvelopeSessionStateValidationError) ErrorName

ErrorName returns error name.

func (EnvelopeSessionStateValidationError) Field

Field function returns field value.

func (EnvelopeSessionStateValidationError) Key

Key function returns key value.

func (EnvelopeSessionStateValidationError) Reason

Reason function returns reason value.

type EnvelopeSessionState_Header

type EnvelopeSessionState_Header struct {

	// Iff the header specified by the “name“ field is present in the response (assume the “name“
	// is set to “session-header“ and original header value is “xxxxxx“), then the upstream host
	// address and value of “name“ field specified header will be encoded in following format and
	// the output will be used to update the “name“ field specified header in the response:
	//
	// .. code-block:: none
	//
	//	session-header: "MS4yLjMuNDo4MAo=;UV:eHh4eHh4Cg==" # base64(1.2.3.4:80);UV:base64(xxxxxx)
	//
	// The “UV“ (upstream value) part is used to store the original upstream header value of
	// “name“ field specified header.
	//
	// If this mode is used then Envoy will assume that the header in the request will also be in the
	// same format and will contain the “UV“ part. This extension will parse the upstream host
	// address and update the “name“ field specified header in the request to the “UV“ part.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// contains filtered or unexported fields
}

func (*EnvelopeSessionState_Header) Descriptor

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

Deprecated: Use EnvelopeSessionState_Header.ProtoReflect.Descriptor instead.

func (*EnvelopeSessionState_Header) GetName

func (x *EnvelopeSessionState_Header) GetName() string

func (*EnvelopeSessionState_Header) ProtoMessage

func (*EnvelopeSessionState_Header) ProtoMessage()

func (*EnvelopeSessionState_Header) ProtoReflect

func (*EnvelopeSessionState_Header) Reset

func (x *EnvelopeSessionState_Header) Reset()

func (*EnvelopeSessionState_Header) String

func (x *EnvelopeSessionState_Header) String() string

func (*EnvelopeSessionState_Header) Validate

func (m *EnvelopeSessionState_Header) Validate() error

Validate checks the field values on EnvelopeSessionState_Header with the rules defined in the proto definition for this message. If any rules are violated, the first error encountered is returned, or nil if there are no violations.

func (*EnvelopeSessionState_Header) ValidateAll

func (m *EnvelopeSessionState_Header) ValidateAll() error

ValidateAll checks the field values on EnvelopeSessionState_Header with the rules defined in the proto definition for this message. If any rules are violated, the result is a list of violation errors wrapped in EnvelopeSessionState_HeaderMultiError, or nil if none found.

type EnvelopeSessionState_HeaderMultiError

type EnvelopeSessionState_HeaderMultiError []error

EnvelopeSessionState_HeaderMultiError is an error wrapping multiple validation errors returned by EnvelopeSessionState_Header.ValidateAll() if the designated constraints aren't met.

func (EnvelopeSessionState_HeaderMultiError) AllErrors

AllErrors returns a list of validation violation errors.

func (EnvelopeSessionState_HeaderMultiError) Error

Error returns a concatenation of all the error messages it wraps.

type EnvelopeSessionState_HeaderValidationError

type EnvelopeSessionState_HeaderValidationError struct {
	// contains filtered or unexported fields
}

EnvelopeSessionState_HeaderValidationError is the validation error returned by EnvelopeSessionState_Header.Validate if the designated constraints aren't met.

func (EnvelopeSessionState_HeaderValidationError) Cause

Cause function returns cause value.

func (EnvelopeSessionState_HeaderValidationError) Error

Error satisfies the builtin error interface

func (EnvelopeSessionState_HeaderValidationError) ErrorName

ErrorName returns error name.

func (EnvelopeSessionState_HeaderValidationError) Field

Field function returns field value.

func (EnvelopeSessionState_HeaderValidationError) Key

Key function returns key value.

func (EnvelopeSessionState_HeaderValidationError) Reason

Reason function returns reason value.

Source Files

envelope.pb.go envelope.pb.validate.go

Version
v1.37.0 (latest)
Published
Jan 13, 2026
Platform
linux/amd64
Imports
19 packages
Last checked
1 hour ago

Tools for package owners.