http_connection_managerv3

package
v1.33.0-20240426201503... Latest Latest
Warning

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

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

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	HttpConnectionManager_CodecType_name = map[int32]string{
		0: "AUTO",
		1: "HTTP1",
		2: "HTTP2",
		3: "HTTP3",
	}
	HttpConnectionManager_CodecType_value = map[string]int32{
		"AUTO":  0,
		"HTTP1": 1,
		"HTTP2": 2,
		"HTTP3": 3,
	}
)

Enum value maps for HttpConnectionManager_CodecType.

View Source
var (
	HttpConnectionManager_ServerHeaderTransformation_name = map[int32]string{
		0: "OVERWRITE",
		1: "APPEND_IF_ABSENT",
		2: "PASS_THROUGH",
	}
	HttpConnectionManager_ServerHeaderTransformation_value = map[string]int32{
		"OVERWRITE":        0,
		"APPEND_IF_ABSENT": 1,
		"PASS_THROUGH":     2,
	}
)

Enum value maps for HttpConnectionManager_ServerHeaderTransformation.

View Source
var (
	HttpConnectionManager_ForwardClientCertDetails_name = map[int32]string{
		0: "SANITIZE",
		1: "FORWARD_ONLY",
		2: "APPEND_FORWARD",
		3: "SANITIZE_SET",
		4: "ALWAYS_FORWARD_ONLY",
	}
	HttpConnectionManager_ForwardClientCertDetails_value = map[string]int32{
		"SANITIZE":            0,
		"FORWARD_ONLY":        1,
		"APPEND_FORWARD":      2,
		"SANITIZE_SET":        3,
		"ALWAYS_FORWARD_ONLY": 4,
	}
)

Enum value maps for HttpConnectionManager_ForwardClientCertDetails.

View Source
var (
	HttpConnectionManager_PathWithEscapedSlashesAction_name = map[int32]string{
		0: "IMPLEMENTATION_SPECIFIC_DEFAULT",
		1: "KEEP_UNCHANGED",
		2: "REJECT_REQUEST",
		3: "UNESCAPE_AND_REDIRECT",
		4: "UNESCAPE_AND_FORWARD",
	}
	HttpConnectionManager_PathWithEscapedSlashesAction_value = map[string]int32{
		"IMPLEMENTATION_SPECIFIC_DEFAULT": 0,
		"KEEP_UNCHANGED":                  1,
		"REJECT_REQUEST":                  2,
		"UNESCAPE_AND_REDIRECT":           3,
		"UNESCAPE_AND_FORWARD":            4,
	}
)

Enum value maps for HttpConnectionManager_PathWithEscapedSlashesAction.

View Source
var (
	HttpConnectionManager_Tracing_OperationName_name = map[int32]string{
		0: "INGRESS",
		1: "EGRESS",
	}
	HttpConnectionManager_Tracing_OperationName_value = map[string]int32{
		"INGRESS": 0,
		"EGRESS":  1,
	}
)

Enum value maps for HttpConnectionManager_Tracing_OperationName.

View Source
var File_envoy_extensions_filters_network_http_connection_manager_v3_http_connection_manager_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

type EnvoyMobileHttpConnectionManager

type EnvoyMobileHttpConnectionManager struct {

	// The configuration for the underlying HttpConnectionManager which will be
	// instantiated for Envoy mobile.
	Config *HttpConnectionManager `protobuf:"bytes,1,opt,name=config,proto3" json:"config,omitempty"`
	// contains filtered or unexported fields
}

[#protodoc-title: Envoy Mobile HTTP connection manager] HTTP connection manager for use in Envoy mobile. [#extension: envoy.filters.network.envoy_mobile_http_connection_manager]

func (*EnvoyMobileHttpConnectionManager) Descriptor deprecated

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

Deprecated: Use EnvoyMobileHttpConnectionManager.ProtoReflect.Descriptor instead.

func (*EnvoyMobileHttpConnectionManager) GetConfig

func (*EnvoyMobileHttpConnectionManager) ProtoMessage

func (*EnvoyMobileHttpConnectionManager) ProtoMessage()

func (*EnvoyMobileHttpConnectionManager) ProtoReflect

func (*EnvoyMobileHttpConnectionManager) Reset

func (*EnvoyMobileHttpConnectionManager) String

type HttpConnectionManager

type HttpConnectionManager struct {

	// Supplies the type of codec that the connection manager should use.
	CodecType HttpConnectionManager_CodecType `` /* 186-byte string literal not displayed */
	// The human readable prefix to use when emitting statistics for the
	// connection manager. See the :ref:`statistics documentation <config_http_conn_man_stats>` for
	// more information.
	StatPrefix string `protobuf:"bytes,2,opt,name=stat_prefix,json=statPrefix,proto3" json:"stat_prefix,omitempty"`
	// Types that are assignable to RouteSpecifier:
	//
	//	*HttpConnectionManager_Rds
	//	*HttpConnectionManager_RouteConfig
	//	*HttpConnectionManager_ScopedRoutes
	RouteSpecifier isHttpConnectionManager_RouteSpecifier `protobuf_oneof:"route_specifier"`
	// A list of individual HTTP filters that make up the filter chain for
	// requests made to the connection manager. :ref:`Order matters <arch_overview_http_filters_ordering>`
	// as the filters are processed sequentially as request events happen.
	HttpFilters []*HttpFilter `protobuf:"bytes,5,rep,name=http_filters,json=httpFilters,proto3" json:"http_filters,omitempty"`
	// Whether the connection manager manipulates the :ref:`config_http_conn_man_headers_user-agent`
	// and :ref:`config_http_conn_man_headers_downstream-service-cluster` headers. See the linked
	// documentation for more information. Defaults to false.
	AddUserAgent *wrapperspb.BoolValue `protobuf:"bytes,6,opt,name=add_user_agent,json=addUserAgent,proto3" json:"add_user_agent,omitempty"`
	// Presence of the object defines whether the connection manager
	// emits :ref:`tracing <arch_overview_tracing>` data to the :ref:`configured tracing provider
	// <envoy_v3_api_msg_config.trace.v3.Tracing>`.
	Tracing *HttpConnectionManager_Tracing `protobuf:"bytes,7,opt,name=tracing,proto3" json:"tracing,omitempty"`
	// Additional settings for HTTP requests handled by the connection manager. These will be
	// applicable to both HTTP1 and HTTP2 requests.
	CommonHttpProtocolOptions *v3.HttpProtocolOptions `` /* 141-byte string literal not displayed */
	// Additional HTTP/1 settings that are passed to the HTTP/1 codec.
	// [#comment:TODO: The following fields are ignored when the
	// :ref:`header validation configuration <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.typed_header_validation_config>`
	// is present:
	// 1. :ref:`allow_chunked_length <envoy_v3_api_field_config.core.v3.Http1ProtocolOptions.allow_chunked_length>`]
	HttpProtocolOptions *v3.Http1ProtocolOptions `protobuf:"bytes,8,opt,name=http_protocol_options,json=httpProtocolOptions,proto3" json:"http_protocol_options,omitempty"`
	// Additional HTTP/2 settings that are passed directly to the HTTP/2 codec.
	Http2ProtocolOptions *v3.Http2ProtocolOptions `protobuf:"bytes,9,opt,name=http2_protocol_options,json=http2ProtocolOptions,proto3" json:"http2_protocol_options,omitempty"`
	// Additional HTTP/3 settings that are passed directly to the HTTP/3 codec.
	// [#not-implemented-hide:]
	Http3ProtocolOptions *v3.Http3ProtocolOptions `protobuf:"bytes,44,opt,name=http3_protocol_options,json=http3ProtocolOptions,proto3" json:"http3_protocol_options,omitempty"`
	// An optional override that the connection manager will write to the server
	// header in responses. If not set, the default is “envoy“.
	ServerName string `protobuf:"bytes,10,opt,name=server_name,json=serverName,proto3" json:"server_name,omitempty"`
	// Defines the action to be applied to the Server header on the response path.
	// By default, Envoy will overwrite the header with the value specified in
	// server_name.
	ServerHeaderTransformation HttpConnectionManager_ServerHeaderTransformation `` /* 257-byte string literal not displayed */
	// Allows for explicit transformation of the :scheme header on the request path.
	// If not set, Envoy's default :ref:`scheme  <config_http_conn_man_headers_scheme>`
	// handling applies.
	SchemeHeaderTransformation *v3.SchemeHeaderTransformation `` /* 142-byte string literal not displayed */
	// The maximum request headers size for incoming connections.
	// If unconfigured, the default max request headers allowed is 60 KiB.
	// Requests that exceed this limit will receive a 431 response.
	MaxRequestHeadersKb *wrapperspb.UInt32Value `protobuf:"bytes,29,opt,name=max_request_headers_kb,json=maxRequestHeadersKb,proto3" json:"max_request_headers_kb,omitempty"`
	// The stream idle timeout for connections managed by the connection manager.
	// If not specified, this defaults to 5 minutes. The default value was selected
	// so as not to interfere with any smaller configured timeouts that may have
	// existed in configurations prior to the introduction of this feature, while
	// introducing robustness to TCP connections that terminate without a FIN.
	//
	// This idle timeout applies to new streams and is overridable by the
	// :ref:`route-level idle_timeout
	// <envoy_v3_api_field_config.route.v3.RouteAction.idle_timeout>`. Even on a stream in
	// which the override applies, prior to receipt of the initial request
	// headers, the :ref:`stream_idle_timeout
	// <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.stream_idle_timeout>`
	// applies. Each time an encode/decode event for headers or data is processed
	// for the stream, the timer will be reset. If the timeout fires, the stream
	// is terminated with a 408 Request Timeout error code if no upstream response
	// header has been received, otherwise a stream reset occurs.
	//
	// This timeout also specifies the amount of time that Envoy will wait for the peer to open enough
	// window to write any remaining stream data once the entirety of stream data (local end stream is
	// true) has been buffered pending available window. In other words, this timeout defends against
	// a peer that does not release enough window to completely write the stream, even though all
	// data has been proxied within available flow control windows. If the timeout is hit in this
	// case, the :ref:`tx_flush_timeout <config_http_conn_man_stats_per_codec>` counter will be
	// incremented. Note that :ref:`max_stream_duration
	// <envoy_v3_api_field_config.core.v3.HttpProtocolOptions.max_stream_duration>` does not apply to
	// this corner case.
	//
	// If the :ref:`overload action <config_overload_manager_overload_actions>` "envoy.overload_actions.reduce_timeouts"
	// is configured, this timeout is scaled according to the value for
	// :ref:`HTTP_DOWNSTREAM_STREAM_IDLE <envoy_v3_api_enum_value_config.overload.v3.ScaleTimersOverloadActionConfig.TimerType.HTTP_DOWNSTREAM_STREAM_IDLE>`.
	//
	// Note that it is possible to idle timeout even if the wire traffic for a stream is non-idle, due
	// to the granularity of events presented to the connection manager. For example, while receiving
	// very large request headers, it may be the case that there is traffic regularly arriving on the
	// wire while the connection manage is only able to observe the end-of-headers event, hence the
	// stream may still idle timeout.
	//
	// A value of 0 will completely disable the connection manager stream idle
	// timeout, although per-route idle timeout overrides will continue to apply.
	StreamIdleTimeout *durationpb.Duration `protobuf:"bytes,24,opt,name=stream_idle_timeout,json=streamIdleTimeout,proto3" json:"stream_idle_timeout,omitempty"`
	// The amount of time that Envoy will wait for the entire request to be received.
	// The timer is activated when the request is initiated, and is disarmed when the last byte of the
	// request is sent upstream (i.e. all decoding filters have processed the request), OR when the
	// response is initiated. If not specified or set to 0, this timeout is disabled.
	RequestTimeout *durationpb.Duration `protobuf:"bytes,28,opt,name=request_timeout,json=requestTimeout,proto3" json:"request_timeout,omitempty"`
	// The amount of time that Envoy will wait for the request headers to be received. The timer is
	// activated when the first byte of the headers is received, and is disarmed when the last byte of
	// the headers has been received. If not specified or set to 0, this timeout is disabled.
	RequestHeadersTimeout *durationpb.Duration `` /* 127-byte string literal not displayed */
	// The time that Envoy will wait between sending an HTTP/2 “shutdown
	// notification” (GOAWAY frame with max stream ID) and a final GOAWAY frame.
	// This is used so that Envoy provides a grace period for new streams that
	// race with the final GOAWAY frame. During this grace period, Envoy will
	// continue to accept new streams. After the grace period, a final GOAWAY
	// frame is sent and Envoy will start refusing new streams. Draining occurs
	// both when a connection hits the idle timeout or during general server
	// draining. The default grace period is 5000 milliseconds (5 seconds) if this
	// option is not specified.
	DrainTimeout *durationpb.Duration `protobuf:"bytes,12,opt,name=drain_timeout,json=drainTimeout,proto3" json:"drain_timeout,omitempty"`
	// The delayed close timeout is for downstream connections managed by the HTTP connection manager.
	// It is defined as a grace period after connection close processing has been locally initiated
	// during which Envoy will wait for the peer to close (i.e., a TCP FIN/RST is received by Envoy
	// from the downstream connection) prior to Envoy closing the socket associated with that
	// connection.
	// NOTE: This timeout is enforced even when the socket associated with the downstream connection
	// is pending a flush of the write buffer. However, any progress made writing data to the socket
	// will restart the timer associated with this timeout. This means that the total grace period for
	// a socket in this state will be
	// <total_time_waiting_for_write_buffer_flushes>+<delayed_close_timeout>.
	//
	// Delaying Envoy's connection close and giving the peer the opportunity to initiate the close
	// sequence mitigates a race condition that exists when downstream clients do not drain/process
	// data in a connection's receive buffer after a remote close has been detected via a socket
	// write(). This race leads to such clients failing to process the response code sent by Envoy,
	// which could result in erroneous downstream processing.
	//
	// If the timeout triggers, Envoy will close the connection's socket.
	//
	// The default timeout is 1000 ms if this option is not specified.
	//
	// .. NOTE::
	//
	//	To be useful in avoiding the race condition described above, this timeout must be set
	//	to *at least* <max round trip time expected between clients and Envoy>+<100ms to account for
	//	a reasonable "worst" case processing time for a full iteration of Envoy's event loop>.
	//
	// .. WARNING::
	//
	//	A value of 0 will completely disable delayed close processing. When disabled, the downstream
	//	connection's socket will be closed immediately after the write flush is completed or will
	//	never close if the write flush does not complete.
	DelayedCloseTimeout *durationpb.Duration `protobuf:"bytes,26,opt,name=delayed_close_timeout,json=delayedCloseTimeout,proto3" json:"delayed_close_timeout,omitempty"`
	// Configuration for :ref:`HTTP access logs <arch_overview_access_logs>`
	// emitted by the connection manager.
	AccessLog []*v31.AccessLog `protobuf:"bytes,13,rep,name=access_log,json=accessLog,proto3" json:"access_log,omitempty"`
	// .. attention::
	// This field is deprecated in favor of
	// :ref:`access_log_flush_interval
	// <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.HcmAccessLogOptions.access_log_flush_interval>`.
	// Note that if both this field and :ref:`access_log_flush_interval
	// <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.HcmAccessLogOptions.access_log_flush_interval>`
	// are specified, the former (deprecated field) is ignored.
	//
	// Deprecated: Marked as deprecated in envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto.
	AccessLogFlushInterval *durationpb.Duration `` /* 132-byte string literal not displayed */
	// .. attention::
	// This field is deprecated in favor of
	// :ref:`flush_access_log_on_new_request
	// <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.HcmAccessLogOptions.flush_access_log_on_new_request>`.
	// Note that if both this field and :ref:`flush_access_log_on_new_request
	// <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.HcmAccessLogOptions.flush_access_log_on_new_request>`
	// are specified, the former (deprecated field) is ignored.
	//
	// Deprecated: Marked as deprecated in envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto.
	FlushAccessLogOnNewRequest bool `` /* 149-byte string literal not displayed */
	// Additional access log options for HTTP connection manager.
	AccessLogOptions *HttpConnectionManager_HcmAccessLogOptions `protobuf:"bytes,56,opt,name=access_log_options,json=accessLogOptions,proto3" json:"access_log_options,omitempty"`
	// If set to true, the connection manager will use the real remote address
	// of the client connection when determining internal versus external origin and manipulating
	// various headers. If set to false or absent, the connection manager will use the
	// :ref:`config_http_conn_man_headers_x-forwarded-for` HTTP header. See the documentation for
	// :ref:`config_http_conn_man_headers_x-forwarded-for`,
	// :ref:`config_http_conn_man_headers_x-envoy-internal`, and
	// :ref:`config_http_conn_man_headers_x-envoy-external-address` for more information.
	UseRemoteAddress *wrapperspb.BoolValue `protobuf:"bytes,14,opt,name=use_remote_address,json=useRemoteAddress,proto3" json:"use_remote_address,omitempty"`
	// The number of additional ingress proxy hops from the right side of the
	// :ref:`config_http_conn_man_headers_x-forwarded-for` HTTP header to trust when
	// determining the origin client's IP address. The default is zero if this option
	// is not specified. See the documentation for
	// :ref:`config_http_conn_man_headers_x-forwarded-for` for more information.
	XffNumTrustedHops uint32 `protobuf:"varint,19,opt,name=xff_num_trusted_hops,json=xffNumTrustedHops,proto3" json:"xff_num_trusted_hops,omitempty"`
	// The configuration for the original IP detection extensions.
	//
	// When configured the extensions will be called along with the request headers
	// and information about the downstream connection, such as the directly connected address.
	// Each extension will then use these parameters to decide the request's effective remote address.
	// If an extension fails to detect the original IP address and isn't configured to reject
	// the request, the HCM will try the remaining extensions until one succeeds or rejects
	// the request. If the request isn't rejected nor any extension succeeds, the HCM will
	// fallback to using the remote address.
	//
	// .. WARNING::
	//
	//	Extensions cannot be used in conjunction with :ref:`use_remote_address
	//	<envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.use_remote_address>`
	//	nor :ref:`xff_num_trusted_hops
	//	<envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.xff_num_trusted_hops>`.
	//
	// [#extension-category: envoy.http.original_ip_detection]
	OriginalIpDetectionExtensions []*v3.TypedExtensionConfig `` /* 153-byte string literal not displayed */
	// The configuration for the early header mutation extensions.
	//
	// When configured the extensions will be called before any routing, tracing, or any filter processing.
	// Each extension will be applied in the order they are configured.
	// If the same header is mutated by multiple extensions, then the last extension will win.
	//
	// [#extension-category: envoy.http.early_header_mutation]
	EarlyHeaderMutationExtensions []*v3.TypedExtensionConfig `` /* 153-byte string literal not displayed */
	// Configures what network addresses are considered internal for stats and header sanitation
	// purposes. If unspecified, only RFC1918 IP addresses will be considered internal.
	// See the documentation for :ref:`config_http_conn_man_headers_x-envoy-internal` for more
	// information about internal/external addresses.
	InternalAddressConfig *HttpConnectionManager_InternalAddressConfig `` /* 127-byte string literal not displayed */
	// If set, Envoy will not append the remote address to the
	// :ref:`config_http_conn_man_headers_x-forwarded-for` HTTP header. This may be used in
	// conjunction with HTTP filters that explicitly manipulate XFF after the HTTP connection manager
	// has mutated the request headers. While :ref:`use_remote_address
	// <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.use_remote_address>`
	// will also suppress XFF addition, it has consequences for logging and other
	// Envoy uses of the remote address, so “skip_xff_append“ should be used
	// when only an elision of XFF addition is intended.
	SkipXffAppend bool `protobuf:"varint,21,opt,name=skip_xff_append,json=skipXffAppend,proto3" json:"skip_xff_append,omitempty"`
	// Via header value to append to request and response headers. If this is
	// empty, no via header will be appended.
	Via string `protobuf:"bytes,22,opt,name=via,proto3" json:"via,omitempty"`
	// Whether the connection manager will generate the :ref:`x-request-id
	// <config_http_conn_man_headers_x-request-id>` header if it does not exist. This defaults to
	// true. Generating a random UUID4 is expensive so in high throughput scenarios where this feature
	// is not desired it can be disabled.
	GenerateRequestId *wrapperspb.BoolValue `protobuf:"bytes,15,opt,name=generate_request_id,json=generateRequestId,proto3" json:"generate_request_id,omitempty"`
	// Whether the connection manager will keep the :ref:`x-request-id
	// <config_http_conn_man_headers_x-request-id>` header if passed for a request that is edge
	// (Edge request is the request from external clients to front Envoy) and not reset it, which
	// is the current Envoy behaviour. This defaults to false.
	PreserveExternalRequestId bool `` /* 142-byte string literal not displayed */
	// If set, Envoy will always set :ref:`x-request-id <config_http_conn_man_headers_x-request-id>` header in response.
	// If this is false or not set, the request ID is returned in responses only if tracing is forced using
	// :ref:`x-envoy-force-trace <config_http_conn_man_headers_x-envoy-force-trace>` header.
	AlwaysSetRequestIdInResponse bool `` /* 155-byte string literal not displayed */
	// How to handle the :ref:`config_http_conn_man_headers_x-forwarded-client-cert` (XFCC) HTTP
	// header.
	ForwardClientCertDetails HttpConnectionManager_ForwardClientCertDetails `` /* 251-byte string literal not displayed */
	// This field is valid only when :ref:`forward_client_cert_details
	// <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.forward_client_cert_details>`
	// is APPEND_FORWARD or SANITIZE_SET and the client connection is mTLS. It specifies the fields in
	// the client certificate to be forwarded. Note that in the
	// :ref:`config_http_conn_man_headers_x-forwarded-client-cert` header, “Hash“ is always set, and
	// “By“ is always set when the client certificate presents the URI type Subject Alternative Name
	// value.
	SetCurrentClientCertDetails *HttpConnectionManager_SetCurrentClientCertDetails `` /* 149-byte string literal not displayed */
	// If proxy_100_continue is true, Envoy will proxy incoming "Expect:
	// 100-continue" headers upstream, and forward "100 Continue" responses
	// downstream. If this is false or not set, Envoy will instead strip the
	// "Expect: 100-continue" header, and send a "100 Continue" response itself.
	Proxy_100Continue bool `protobuf:"varint,18,opt,name=proxy_100_continue,json=proxy100Continue,proto3" json:"proxy_100_continue,omitempty"`
	// If
	// :ref:`use_remote_address
	// <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.use_remote_address>`
	// is true and represent_ipv4_remote_address_as_ipv4_mapped_ipv6 is true and the remote address is
	// an IPv4 address, the address will be mapped to IPv6 before it is appended to “x-forwarded-for“.
	// This is useful for testing compatibility of upstream services that parse the header value. For
	// example, 50.0.0.1 is represented as ::FFFF:50.0.0.1. See `IPv4-Mapped IPv6 Addresses
	// <https://tools.ietf.org/html/rfc4291#section-2.5.5.2>`_ for details. This will also affect the
	// :ref:`config_http_conn_man_headers_x-envoy-external-address` header. See
	// :ref:`http_connection_manager.represent_ipv4_remote_address_as_ipv4_mapped_ipv6
	// <config_http_conn_man_runtime_represent_ipv4_remote_address_as_ipv4_mapped_ipv6>` for runtime
	// control.
	// [#not-implemented-hide:]
	RepresentIpv4RemoteAddressAsIpv4MappedIpv6 bool                                   `` /* 201-byte string literal not displayed */
	UpgradeConfigs                             []*HttpConnectionManager_UpgradeConfig `protobuf:"bytes,23,rep,name=upgrade_configs,json=upgradeConfigs,proto3" json:"upgrade_configs,omitempty"`
	// Should paths be normalized according to RFC 3986 before any processing of
	// requests by HTTP filters or routing? This affects the upstream “:path“ header
	// as well. For paths that fail this check, Envoy will respond with 400 to
	// paths that are malformed. This defaults to false currently but will default
	// true in the future. When not specified, this value may be overridden by the
	// runtime variable
	// :ref:`http_connection_manager.normalize_path<config_http_conn_man_runtime_normalize_path>`.
	// See `Normalization and Comparison <https://tools.ietf.org/html/rfc3986#section-6>`_
	// for details of normalization.
	// Note that Envoy does not perform
	// `case normalization <https://tools.ietf.org/html/rfc3986#section-6.2.2.1>`_
	// [#comment:TODO: This field is ignored when the
	// :ref:`header validation configuration <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.typed_header_validation_config>`
	// is present.]
	NormalizePath *wrapperspb.BoolValue `protobuf:"bytes,30,opt,name=normalize_path,json=normalizePath,proto3" json:"normalize_path,omitempty"`
	// Determines if adjacent slashes in the path are merged into one before any processing of
	// requests by HTTP filters or routing. This affects the upstream “:path“ header as well. Without
	// setting this option, incoming requests with path “//dir///file“ will not match against route
	// with “prefix“ match set to “/dir“. Defaults to “false“. Note that slash merging is not part of
	// `HTTP spec <https://tools.ietf.org/html/rfc3986>`_ and is provided for convenience.
	// [#comment:TODO: This field is ignored when the
	// :ref:`header validation configuration <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.typed_header_validation_config>`
	// is present.]
	MergeSlashes bool `protobuf:"varint,33,opt,name=merge_slashes,json=mergeSlashes,proto3" json:"merge_slashes,omitempty"`
	// Action to take when request URL path contains escaped slash sequences (%2F, %2f, %5C and %5c).
	// The default value can be overridden by the :ref:`http_connection_manager.path_with_escaped_slashes_action<config_http_conn_man_runtime_path_with_escaped_slashes_action>`
	// runtime variable.
	// The :ref:`http_connection_manager.path_with_escaped_slashes_action_sampling<config_http_conn_man_runtime_path_with_escaped_slashes_action_enabled>` runtime
	// variable can be used to apply the action to a portion of all requests.
	// [#comment:TODO: This field is ignored when the
	// :ref:`header validation configuration <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.typed_header_validation_config>`
	// is present.]
	PathWithEscapedSlashesAction HttpConnectionManager_PathWithEscapedSlashesAction `` /* 269-byte string literal not displayed */
	// The configuration of the request ID extension. This includes operations such as
	// generation, validation, and associated tracing operations. If empty, the
	// :ref:`UuidRequestIdConfig <envoy_v3_api_msg_extensions.request_id.uuid.v3.UuidRequestIdConfig>`
	// default extension is used with default parameters. See the documentation for that extension
	// for details on what it does. Customizing the configuration for the default extension can be
	// achieved by configuring it explicitly here. For example, to disable trace reason packing,
	// the following configuration can be used:
	//
	// .. validated-code-block:: yaml
	//
	//	:type-name: envoy.extensions.filters.network.http_connection_manager.v3.RequestIDExtension
	//
	//	typed_config:
	//	  "@type": type.googleapis.com/envoy.extensions.request_id.uuid.v3.UuidRequestIdConfig
	//	  pack_trace_reason: false
	//
	// [#extension-category: envoy.request_id]
	RequestIdExtension *RequestIDExtension `protobuf:"bytes,36,opt,name=request_id_extension,json=requestIdExtension,proto3" json:"request_id_extension,omitempty"`
	// The configuration to customize local reply returned by Envoy. It can customize status code,
	// body text and response content type. If not specified, status code and text body are hard
	// coded in Envoy, the response content type is plain text.
	LocalReplyConfig *LocalReplyConfig `protobuf:"bytes,38,opt,name=local_reply_config,json=localReplyConfig,proto3" json:"local_reply_config,omitempty"`
	// Determines if the port part should be removed from host/authority header before any processing
	// of request by HTTP filters or routing. The port would be removed only if it is equal to the :ref:`listener's<envoy_v3_api_field_config.listener.v3.Listener.address>`
	// local port. This affects the upstream host header unless the method is
	// CONNECT in which case if no filter adds a port the original port will be restored before headers are
	// sent upstream.
	// Without setting this option, incoming requests with host “example:443“ will not match against
	// route with :ref:`domains<envoy_v3_api_field_config.route.v3.VirtualHost.domains>` match set to “example“. Defaults to “false“. Note that port removal is not part
	// of `HTTP spec <https://tools.ietf.org/html/rfc3986>`_ and is provided for convenience.
	// Only one of “strip_matching_host_port“ or “strip_any_host_port“ can be set.
	StripMatchingHostPort bool `` /* 130-byte string literal not displayed */
	// Types that are assignable to StripPortMode:
	//
	//	*HttpConnectionManager_StripAnyHostPort
	StripPortMode isHttpConnectionManager_StripPortMode `protobuf_oneof:"strip_port_mode"`
	// Governs Envoy's behavior when receiving invalid HTTP from downstream.
	// If this option is false (default), Envoy will err on the conservative side handling HTTP
	// errors, terminating both HTTP/1.1 and HTTP/2 connections when receiving an invalid request.
	// If this option is set to true, Envoy will be more permissive, only resetting the invalid
	// stream in the case of HTTP/2 and leaving the connection open where possible (if the entire
	// request is read for HTTP/1.1)
	// In general this should be true for deployments receiving trusted traffic (L2 Envoys,
	// company-internal mesh) and false when receiving untrusted traffic (edge deployments).
	//
	// If different behaviors for invalid_http_message for HTTP/1 and HTTP/2 are
	// desired, one should use the new HTTP/1 option :ref:`override_stream_error_on_invalid_http_message
	// <envoy_v3_api_field_config.core.v3.Http1ProtocolOptions.override_stream_error_on_invalid_http_message>` or the new HTTP/2 option
	// :ref:`override_stream_error_on_invalid_http_message
	// <envoy_v3_api_field_config.core.v3.Http2ProtocolOptions.override_stream_error_on_invalid_http_message>`
	// “not“ the deprecated but similarly named :ref:`stream_error_on_invalid_http_messaging
	// <envoy_v3_api_field_config.core.v3.Http2ProtocolOptions.stream_error_on_invalid_http_messaging>`
	StreamErrorOnInvalidHttpMessage *wrapperspb.BoolValue `` /* 163-byte string literal not displayed */
	// [#not-implemented-hide:] Path normalization configuration. This includes
	// configurations for transformations (e.g. RFC 3986 normalization or merge
	// adjacent slashes) and the policy to apply them. The policy determines
	// whether transformations affect the forwarded “:path“ header. RFC 3986 path
	// normalization is enabled by default and the default policy is that the
	// normalized header will be forwarded. See :ref:`PathNormalizationOptions
	// <envoy_v3_api_msg_extensions.filters.network.http_connection_manager.v3.PathNormalizationOptions>`
	// for details.
	PathNormalizationOptions *HttpConnectionManager_PathNormalizationOptions `` /* 136-byte string literal not displayed */
	// Determines if trailing dot of the host should be removed from host/authority header before any
	// processing of request by HTTP filters or routing.
	// This affects the upstream host header.
	// Without setting this option, incoming requests with host “example.com.“ will not match against
	// route with :ref:`domains<envoy_v3_api_field_config.route.v3.VirtualHost.domains>` match set to “example.com“. Defaults to “false“.
	// When the incoming request contains a host/authority header that includes a port number,
	// setting this option will strip a trailing dot, if present, from the host section,
	// leaving the port as is (e.g. host value “example.com.:443“ will be updated to “example.com:443“).
	StripTrailingHostDot bool `` /* 127-byte string literal not displayed */
	// Proxy-Status HTTP response header configuration.
	// If this config is set, the Proxy-Status HTTP response header field is
	// populated. By default, it is not.
	ProxyStatusConfig *HttpConnectionManager_ProxyStatusConfig `protobuf:"bytes,49,opt,name=proxy_status_config,json=proxyStatusConfig,proto3" json:"proxy_status_config,omitempty"`
	// Configuration options for Header Validation (UHV).
	// UHV is an extensible mechanism for checking validity of HTTP requests as well as providing
	// normalization for request attributes, such as URI path.
	// If the typed_header_validation_config is present it overrides the following options:
	// “normalize_path“, “merge_slashes“, “path_with_escaped_slashes_action“
	// “http_protocol_options.allow_chunked_length“, “common_http_protocol_options.headers_with_underscores_action“.
	//
	// The default UHV checks the following:
	//
	// #. HTTP/1 header map validity according to `RFC 7230 section 3.2<https://datatracker.ietf.org/doc/html/rfc7230#section-3.2>`_
	// #. Syntax of HTTP/1 request target URI and response status
	// #. HTTP/2 header map validity according to `RFC 7540 section 8.1.2<https://datatracker.ietf.org/doc/html/rfc7540#section-8.1.2`_
	// #. Syntax of HTTP/2 pseudo headers
	// #. HTTP/3 header map validity according to `RFC 9114 section 4.3 <https://www.rfc-editor.org/rfc/rfc9114.html>`_
	// #. Syntax of HTTP/3 pseudo headers
	// #. Syntax of “Content-Length“ and “Transfer-Encoding“
	// #. Validation of HTTP/1 requests with both “Content-Length“ and “Transfer-Encoding“ headers
	// #. Normalization of the URI path according to `Normalization and Comparison <https://datatracker.ietf.org/doc/html/rfc3986#section-6>`_
	//
	//	without `case normalization <https://datatracker.ietf.org/doc/html/rfc3986#section-6.2.2.1>`_
	//
	// [#not-implemented-hide:]
	// [#extension-category: envoy.http.header_validators]
	TypedHeaderValidationConfig *v3.TypedExtensionConfig `` /* 147-byte string literal not displayed */
	// Append the “x-forwarded-port“ header with the port value client used to connect to Envoy. It
	// will be ignored if the “x-forwarded-port“ header has been set by any trusted proxy in front of Envoy.
	AppendXForwardedPort bool `` /* 127-byte string literal not displayed */
	// Append the :ref:`config_http_conn_man_headers_x-envoy-local-overloaded` HTTP header in the scenario where
	// the Overload Manager has been triggered.
	AppendLocalOverload bool `protobuf:"varint,57,opt,name=append_local_overload,json=appendLocalOverload,proto3" json:"append_local_overload,omitempty"`
	// Whether the HCM will add ProxyProtocolFilterState to the Connection lifetime filter state. Defaults to “true“.
	// This should be set to “false“ in cases where Envoy's view of the downstream address may not correspond to the
	// actual client address, for example, if there's another proxy in front of the Envoy.
	AddProxyProtocolConnectionState *wrapperspb.BoolValue `` /* 161-byte string literal not displayed */
	// contains filtered or unexported fields
}

[#next-free-field: 58]

func (*HttpConnectionManager) Descriptor deprecated

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

Deprecated: Use HttpConnectionManager.ProtoReflect.Descriptor instead.

func (*HttpConnectionManager) GetAccessLog

func (x *HttpConnectionManager) GetAccessLog() []*v31.AccessLog

func (*HttpConnectionManager) GetAccessLogFlushInterval deprecated

func (x *HttpConnectionManager) GetAccessLogFlushInterval() *durationpb.Duration

Deprecated: Marked as deprecated in envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto.

func (*HttpConnectionManager) GetAccessLogOptions

func (*HttpConnectionManager) GetAddProxyProtocolConnectionState

func (x *HttpConnectionManager) GetAddProxyProtocolConnectionState() *wrapperspb.BoolValue

func (*HttpConnectionManager) GetAddUserAgent

func (x *HttpConnectionManager) GetAddUserAgent() *wrapperspb.BoolValue

func (*HttpConnectionManager) GetAlwaysSetRequestIdInResponse

func (x *HttpConnectionManager) GetAlwaysSetRequestIdInResponse() bool

func (*HttpConnectionManager) GetAppendLocalOverload

func (x *HttpConnectionManager) GetAppendLocalOverload() bool

func (*HttpConnectionManager) GetAppendXForwardedPort

func (x *HttpConnectionManager) GetAppendXForwardedPort() bool

func (*HttpConnectionManager) GetCodecType

func (*HttpConnectionManager) GetCommonHttpProtocolOptions

func (x *HttpConnectionManager) GetCommonHttpProtocolOptions() *v3.HttpProtocolOptions

func (*HttpConnectionManager) GetDelayedCloseTimeout

func (x *HttpConnectionManager) GetDelayedCloseTimeout() *durationpb.Duration

func (*HttpConnectionManager) GetDrainTimeout

func (x *HttpConnectionManager) GetDrainTimeout() *durationpb.Duration

func (*HttpConnectionManager) GetEarlyHeaderMutationExtensions

func (x *HttpConnectionManager) GetEarlyHeaderMutationExtensions() []*v3.TypedExtensionConfig

func (*HttpConnectionManager) GetFlushAccessLogOnNewRequest deprecated

func (x *HttpConnectionManager) GetFlushAccessLogOnNewRequest() bool

Deprecated: Marked as deprecated in envoy/extensions/filters/network/http_connection_manager/v3/http_connection_manager.proto.

func (*HttpConnectionManager) GetForwardClientCertDetails

func (*HttpConnectionManager) GetGenerateRequestId

func (x *HttpConnectionManager) GetGenerateRequestId() *wrapperspb.BoolValue

func (*HttpConnectionManager) GetHttp2ProtocolOptions

func (x *HttpConnectionManager) GetHttp2ProtocolOptions() *v3.Http2ProtocolOptions

func (*HttpConnectionManager) GetHttp3ProtocolOptions

func (x *HttpConnectionManager) GetHttp3ProtocolOptions() *v3.Http3ProtocolOptions

func (*HttpConnectionManager) GetHttpFilters

func (x *HttpConnectionManager) GetHttpFilters() []*HttpFilter

func (*HttpConnectionManager) GetHttpProtocolOptions

func (x *HttpConnectionManager) GetHttpProtocolOptions() *v3.Http1ProtocolOptions

func (*HttpConnectionManager) GetInternalAddressConfig

func (*HttpConnectionManager) GetLocalReplyConfig

func (x *HttpConnectionManager) GetLocalReplyConfig() *LocalReplyConfig

func (*HttpConnectionManager) GetMaxRequestHeadersKb

func (x *HttpConnectionManager) GetMaxRequestHeadersKb() *wrapperspb.UInt32Value

func (*HttpConnectionManager) GetMergeSlashes

func (x *HttpConnectionManager) GetMergeSlashes() bool

func (*HttpConnectionManager) GetNormalizePath

func (x *HttpConnectionManager) GetNormalizePath() *wrapperspb.BoolValue

func (*HttpConnectionManager) GetOriginalIpDetectionExtensions

func (x *HttpConnectionManager) GetOriginalIpDetectionExtensions() []*v3.TypedExtensionConfig

func (*HttpConnectionManager) GetPathNormalizationOptions

func (*HttpConnectionManager) GetPathWithEscapedSlashesAction

func (*HttpConnectionManager) GetPreserveExternalRequestId

func (x *HttpConnectionManager) GetPreserveExternalRequestId() bool

func (*HttpConnectionManager) GetProxyStatusConfig

func (*HttpConnectionManager) GetProxy_100Continue

func (x *HttpConnectionManager) GetProxy_100Continue() bool

func (*HttpConnectionManager) GetRds

func (x *HttpConnectionManager) GetRds() *Rds

func (*HttpConnectionManager) GetRepresentIpv4RemoteAddressAsIpv4MappedIpv6

func (x *HttpConnectionManager) GetRepresentIpv4RemoteAddressAsIpv4MappedIpv6() bool

func (*HttpConnectionManager) GetRequestHeadersTimeout

func (x *HttpConnectionManager) GetRequestHeadersTimeout() *durationpb.Duration

func (*HttpConnectionManager) GetRequestIdExtension

func (x *HttpConnectionManager) GetRequestIdExtension() *RequestIDExtension

func (*HttpConnectionManager) GetRequestTimeout

func (x *HttpConnectionManager) GetRequestTimeout() *durationpb.Duration

func (*HttpConnectionManager) GetRouteConfig

func (x *HttpConnectionManager) GetRouteConfig() *v32.RouteConfiguration

func (*HttpConnectionManager) GetRouteSpecifier

func (m *HttpConnectionManager) GetRouteSpecifier() isHttpConnectionManager_RouteSpecifier

func (*HttpConnectionManager) GetSchemeHeaderTransformation

func (x *HttpConnectionManager) GetSchemeHeaderTransformation() *v3.SchemeHeaderTransformation

func (*HttpConnectionManager) GetScopedRoutes

func (x *HttpConnectionManager) GetScopedRoutes() *ScopedRoutes

func (*HttpConnectionManager) GetServerHeaderTransformation

func (*HttpConnectionManager) GetServerName

func (x *HttpConnectionManager) GetServerName() string

func (*HttpConnectionManager) GetSetCurrentClientCertDetails

func (x *HttpConnectionManager) GetSetCurrentClientCertDetails() *HttpConnectionManager_SetCurrentClientCertDetails

func (*HttpConnectionManager) GetSkipXffAppend

func (x *HttpConnectionManager) GetSkipXffAppend() bool

func (*HttpConnectionManager) GetStatPrefix

func (x *HttpConnectionManager) GetStatPrefix() string

func (*HttpConnectionManager) GetStreamErrorOnInvalidHttpMessage

func (x *HttpConnectionManager) GetStreamErrorOnInvalidHttpMessage() *wrapperspb.BoolValue

func (*HttpConnectionManager) GetStreamIdleTimeout

func (x *HttpConnectionManager) GetStreamIdleTimeout() *durationpb.Duration

func (*HttpConnectionManager) GetStripAnyHostPort

func (x *HttpConnectionManager) GetStripAnyHostPort() bool

func (*HttpConnectionManager) GetStripMatchingHostPort

func (x *HttpConnectionManager) GetStripMatchingHostPort() bool

func (*HttpConnectionManager) GetStripPortMode

func (m *HttpConnectionManager) GetStripPortMode() isHttpConnectionManager_StripPortMode

func (*HttpConnectionManager) GetStripTrailingHostDot

func (x *HttpConnectionManager) GetStripTrailingHostDot() bool

func (*HttpConnectionManager) GetTracing

func (*HttpConnectionManager) GetTypedHeaderValidationConfig

func (x *HttpConnectionManager) GetTypedHeaderValidationConfig() *v3.TypedExtensionConfig

func (*HttpConnectionManager) GetUpgradeConfigs

func (*HttpConnectionManager) GetUseRemoteAddress

func (x *HttpConnectionManager) GetUseRemoteAddress() *wrapperspb.BoolValue

func (*HttpConnectionManager) GetVia

func (x *HttpConnectionManager) GetVia() string

func (*HttpConnectionManager) GetXffNumTrustedHops

func (x *HttpConnectionManager) GetXffNumTrustedHops() uint32

func (*HttpConnectionManager) ProtoMessage

func (*HttpConnectionManager) ProtoMessage()

func (*HttpConnectionManager) ProtoReflect

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

func (*HttpConnectionManager) Reset

func (x *HttpConnectionManager) Reset()

func (*HttpConnectionManager) String

func (x *HttpConnectionManager) String() string

type HttpConnectionManager_CodecType

type HttpConnectionManager_CodecType int32
const (
	// For every new connection, the connection manager will determine which
	// codec to use. This mode supports both ALPN for TLS listeners as well as
	// protocol inference for plaintext listeners. If ALPN data is available, it
	// is preferred, otherwise protocol inference is used. In almost all cases,
	// this is the right option to choose for this setting.
	HttpConnectionManager_AUTO HttpConnectionManager_CodecType = 0
	// The connection manager will assume that the client is speaking HTTP/1.1.
	HttpConnectionManager_HTTP1 HttpConnectionManager_CodecType = 1
	// The connection manager will assume that the client is speaking HTTP/2
	// (Envoy does not require HTTP/2 to take place over TLS or to use ALPN.
	// Prior knowledge is allowed).
	HttpConnectionManager_HTTP2 HttpConnectionManager_CodecType = 2
	// [#not-implemented-hide:] QUIC implementation is not production ready yet. Use this enum with
	// caution to prevent accidental execution of QUIC code. I.e. `!= HTTP2` is no longer sufficient
	// to distinguish HTTP1 and HTTP2 traffic.
	HttpConnectionManager_HTTP3 HttpConnectionManager_CodecType = 3
)

func (HttpConnectionManager_CodecType) Descriptor

func (HttpConnectionManager_CodecType) Enum

func (HttpConnectionManager_CodecType) EnumDescriptor deprecated

func (HttpConnectionManager_CodecType) EnumDescriptor() ([]byte, []int)

Deprecated: Use HttpConnectionManager_CodecType.Descriptor instead.

func (HttpConnectionManager_CodecType) Number

func (HttpConnectionManager_CodecType) String

func (HttpConnectionManager_CodecType) Type

type HttpConnectionManager_ForwardClientCertDetails

type HttpConnectionManager_ForwardClientCertDetails int32

How to handle the :ref:`config_http_conn_man_headers_x-forwarded-client-cert` (XFCC) HTTP header.

const (
	// Do not send the XFCC header to the next hop. This is the default value.
	HttpConnectionManager_SANITIZE HttpConnectionManager_ForwardClientCertDetails = 0
	// When the client connection is mTLS (Mutual TLS), forward the XFCC header
	// in the request.
	HttpConnectionManager_FORWARD_ONLY HttpConnectionManager_ForwardClientCertDetails = 1
	// When the client connection is mTLS, append the client certificate
	// information to the request’s XFCC header and forward it.
	HttpConnectionManager_APPEND_FORWARD HttpConnectionManager_ForwardClientCertDetails = 2
	// When the client connection is mTLS, reset the XFCC header with the client
	// certificate information and send it to the next hop.
	HttpConnectionManager_SANITIZE_SET HttpConnectionManager_ForwardClientCertDetails = 3
	// Always forward the XFCC header in the request, regardless of whether the
	// client connection is mTLS.
	HttpConnectionManager_ALWAYS_FORWARD_ONLY HttpConnectionManager_ForwardClientCertDetails = 4
)

func (HttpConnectionManager_ForwardClientCertDetails) Descriptor

func (HttpConnectionManager_ForwardClientCertDetails) Enum

func (HttpConnectionManager_ForwardClientCertDetails) EnumDescriptor deprecated

Deprecated: Use HttpConnectionManager_ForwardClientCertDetails.Descriptor instead.

func (HttpConnectionManager_ForwardClientCertDetails) Number

func (HttpConnectionManager_ForwardClientCertDetails) String

func (HttpConnectionManager_ForwardClientCertDetails) Type

type HttpConnectionManager_HcmAccessLogOptions

type HttpConnectionManager_HcmAccessLogOptions struct {

	// The interval to flush the above access logs. By default, the HCM will flush exactly one access log
	// on stream close, when the HTTP request is complete. If this field is set, the HCM will flush access
	// logs periodically at the specified interval. This is especially useful in the case of long-lived
	// requests, such as CONNECT and Websockets. Final access logs can be detected via the
	// “requestComplete()“ method of “StreamInfo“ in access log filters, or through the “%DURATION%“ substitution
	// string.
	// The interval must be at least 1 millisecond.
	AccessLogFlushInterval *durationpb.Duration `` /* 131-byte string literal not displayed */
	// If set to true, HCM will flush an access log when a new HTTP request is received, after request
	// headers have been evaluated, before iterating through the HTTP filter chain.
	// This log record, if enabled, does not depend on periodic log records or request completion log.
	// Details related to upstream cluster, such as upstream host, will not be available for this log.
	FlushAccessLogOnNewRequest bool `` /* 148-byte string literal not displayed */
	// If true, the HCM will flush an access log when a tunnel is successfully established. For example,
	// this could be when an upstream has successfully returned 101 Switching Protocols, or when the proxy
	// has returned 200 to a CONNECT request.
	FlushLogOnTunnelSuccessfullyEstablished bool `` /* 187-byte string literal not displayed */
	// contains filtered or unexported fields
}

func (*HttpConnectionManager_HcmAccessLogOptions) Descriptor deprecated

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

Deprecated: Use HttpConnectionManager_HcmAccessLogOptions.ProtoReflect.Descriptor instead.

func (*HttpConnectionManager_HcmAccessLogOptions) GetAccessLogFlushInterval

func (x *HttpConnectionManager_HcmAccessLogOptions) GetAccessLogFlushInterval() *durationpb.Duration

func (*HttpConnectionManager_HcmAccessLogOptions) GetFlushAccessLogOnNewRequest

func (x *HttpConnectionManager_HcmAccessLogOptions) GetFlushAccessLogOnNewRequest() bool

func (*HttpConnectionManager_HcmAccessLogOptions) GetFlushLogOnTunnelSuccessfullyEstablished

func (x *HttpConnectionManager_HcmAccessLogOptions) GetFlushLogOnTunnelSuccessfullyEstablished() bool

func (*HttpConnectionManager_HcmAccessLogOptions) ProtoMessage

func (*HttpConnectionManager_HcmAccessLogOptions) ProtoReflect

func (*HttpConnectionManager_HcmAccessLogOptions) Reset

func (*HttpConnectionManager_HcmAccessLogOptions) String

type HttpConnectionManager_InternalAddressConfig

type HttpConnectionManager_InternalAddressConfig struct {

	// Whether unix socket addresses should be considered internal.
	UnixSockets bool `protobuf:"varint,1,opt,name=unix_sockets,json=unixSockets,proto3" json:"unix_sockets,omitempty"`
	// List of CIDR ranges that are treated as internal. If unset, then RFC1918 / RFC4193
	// IP addresses will be considered internal.
	CidrRanges []*v3.CidrRange `protobuf:"bytes,2,rep,name=cidr_ranges,json=cidrRanges,proto3" json:"cidr_ranges,omitempty"`
	// contains filtered or unexported fields
}

func (*HttpConnectionManager_InternalAddressConfig) Descriptor deprecated

Deprecated: Use HttpConnectionManager_InternalAddressConfig.ProtoReflect.Descriptor instead.

func (*HttpConnectionManager_InternalAddressConfig) GetCidrRanges

func (*HttpConnectionManager_InternalAddressConfig) GetUnixSockets

func (*HttpConnectionManager_InternalAddressConfig) ProtoMessage

func (*HttpConnectionManager_InternalAddressConfig) ProtoReflect

func (*HttpConnectionManager_InternalAddressConfig) Reset

func (*HttpConnectionManager_InternalAddressConfig) String

type HttpConnectionManager_PathNormalizationOptions

type HttpConnectionManager_PathNormalizationOptions struct {

	// [#not-implemented-hide:] Normalization applies internally before any processing of requests by
	// HTTP filters, routing, and matching *and* will affect the forwarded “:path“ header. Defaults
	// to :ref:`NormalizePathRFC3986
	// <envoy_v3_api_msg_type.http.v3.PathTransformation.Operation.NormalizePathRFC3986>`. When not
	// specified, this value may be overridden by the runtime variable
	// :ref:`http_connection_manager.normalize_path<config_http_conn_man_runtime_normalize_path>`.
	// Envoy will respond with 400 to paths that are malformed (e.g. for paths that fail RFC 3986
	// normalization due to disallowed characters.)
	ForwardingTransformation *v36.PathTransformation `` /* 133-byte string literal not displayed */
	// [#not-implemented-hide:] Normalization only applies internally before any processing of
	// requests by HTTP filters, routing, and matching. These will be applied after full
	// transformation is applied. The “:path“ header before this transformation will be restored in
	// the router filter and sent upstream unless it was mutated by a filter. Defaults to no
	// transformations.
	// Multiple actions can be applied in the same Transformation, forming a sequential
	// pipeline. The transformations will be performed in the order that they appear. Envoy will
	// respond with 400 to paths that are malformed (e.g. for paths that fail RFC 3986
	// normalization due to disallowed characters.)
	HttpFilterTransformation *v36.PathTransformation `` /* 135-byte string literal not displayed */
	// contains filtered or unexported fields
}

[#not-implemented-hide:] Transformations that apply to path headers. Transformations are applied before any processing of requests by HTTP filters, routing, and matching. Only the normalized path will be visible internally if a transformation is enabled. Any path rewrites that the router performs (e.g. :ref:`regex_rewrite <envoy_v3_api_field_config.route.v3.RouteAction.regex_rewrite>` or :ref:`prefix_rewrite <envoy_v3_api_field_config.route.v3.RouteAction.prefix_rewrite>`) will apply to the “:path“ header destined for the upstream.

Note: access logging and tracing will show the original “:path“ header.

func (*HttpConnectionManager_PathNormalizationOptions) Descriptor deprecated

Deprecated: Use HttpConnectionManager_PathNormalizationOptions.ProtoReflect.Descriptor instead.

func (*HttpConnectionManager_PathNormalizationOptions) GetForwardingTransformation

func (x *HttpConnectionManager_PathNormalizationOptions) GetForwardingTransformation() *v36.PathTransformation

func (*HttpConnectionManager_PathNormalizationOptions) GetHttpFilterTransformation

func (x *HttpConnectionManager_PathNormalizationOptions) GetHttpFilterTransformation() *v36.PathTransformation

func (*HttpConnectionManager_PathNormalizationOptions) ProtoMessage

func (*HttpConnectionManager_PathNormalizationOptions) ProtoReflect

func (*HttpConnectionManager_PathNormalizationOptions) Reset

func (*HttpConnectionManager_PathNormalizationOptions) String

type HttpConnectionManager_PathWithEscapedSlashesAction

type HttpConnectionManager_PathWithEscapedSlashesAction int32

Determines the action for request that contain %2F, %2f, %5C or %5c sequences in the URI path. This operation occurs before URL normalization and the merge slashes transformations if they were enabled.

const (
	// Default behavior specific to implementation (i.e. Envoy) of this configuration option.
	// Envoy, by default, takes the KEEP_UNCHANGED action.
	// NOTE: the implementation may change the default behavior at-will.
	HttpConnectionManager_IMPLEMENTATION_SPECIFIC_DEFAULT HttpConnectionManager_PathWithEscapedSlashesAction = 0
	// Keep escaped slashes.
	HttpConnectionManager_KEEP_UNCHANGED HttpConnectionManager_PathWithEscapedSlashesAction = 1
	// Reject client request with the 400 status. gRPC requests will be rejected with the INTERNAL (13) error code.
	// The "httpN.downstream_rq_failed_path_normalization" counter is incremented for each rejected request.
	HttpConnectionManager_REJECT_REQUEST HttpConnectionManager_PathWithEscapedSlashesAction = 2
	// Unescape %2F and %5C sequences and redirect request to the new path if these sequences were present.
	// Redirect occurs after path normalization and merge slashes transformations if they were configured.
	// NOTE: gRPC requests will be rejected with the INTERNAL (13) error code.
	// This option minimizes possibility of path confusion exploits by forcing request with unescaped slashes to
	// traverse all parties: downstream client, intermediate proxies, Envoy and upstream server.
	// The "httpN.downstream_rq_redirected_with_normalized_path" counter is incremented for each
	// redirected request.
	HttpConnectionManager_UNESCAPE_AND_REDIRECT HttpConnectionManager_PathWithEscapedSlashesAction = 3
	// Unescape %2F and %5C sequences.
	// Note: this option should not be enabled if intermediaries perform path based access control as
	// it may lead to path confusion vulnerabilities.
	HttpConnectionManager_UNESCAPE_AND_FORWARD HttpConnectionManager_PathWithEscapedSlashesAction = 4
)

func (HttpConnectionManager_PathWithEscapedSlashesAction) Descriptor

func (HttpConnectionManager_PathWithEscapedSlashesAction) Enum

func (HttpConnectionManager_PathWithEscapedSlashesAction) EnumDescriptor deprecated

Deprecated: Use HttpConnectionManager_PathWithEscapedSlashesAction.Descriptor instead.

func (HttpConnectionManager_PathWithEscapedSlashesAction) Number

func (HttpConnectionManager_PathWithEscapedSlashesAction) String

func (HttpConnectionManager_PathWithEscapedSlashesAction) Type

type HttpConnectionManager_ProxyStatusConfig

type HttpConnectionManager_ProxyStatusConfig struct {

	// If true, the details field of the Proxy-Status header is not populated with stream_info.response_code_details.
	// This value defaults to “false“, i.e. the “details“ field is populated by default.
	RemoveDetails bool `protobuf:"varint,1,opt,name=remove_details,json=removeDetails,proto3" json:"remove_details,omitempty"`
	// If true, the details field of the Proxy-Status header will not contain
	// connection termination details. This value defaults to “false“, i.e. the
	// “details“ field will contain connection termination details by default.
	RemoveConnectionTerminationDetails bool `` /* 168-byte string literal not displayed */
	// If true, the details field of the Proxy-Status header will not contain an
	// enumeration of the Envoy ResponseFlags. This value defaults to “false“,
	// i.e. the “details“ field will contain a list of ResponseFlags by default.
	RemoveResponseFlags bool `protobuf:"varint,3,opt,name=remove_response_flags,json=removeResponseFlags,proto3" json:"remove_response_flags,omitempty"`
	// If true, overwrites the existing Status header with the response code
	// recommended by the Proxy-Status spec.
	// This value defaults to “false“, i.e. the HTTP response code is not
	// overwritten.
	SetRecommendedResponseCode bool `` /* 144-byte string literal not displayed */
	// The name of the proxy as it appears at the start of the Proxy-Status
	// header.
	//
	// If neither of these values are set, this value defaults to “server_name“,
	// which itself defaults to "envoy".
	//
	// Types that are assignable to ProxyName:
	//
	//	*HttpConnectionManager_ProxyStatusConfig_UseNodeId
	//	*HttpConnectionManager_ProxyStatusConfig_LiteralProxyName
	ProxyName isHttpConnectionManager_ProxyStatusConfig_ProxyName `protobuf_oneof:"proxy_name"`
	// contains filtered or unexported fields
}

Configures the manner in which the Proxy-Status HTTP response header is populated.

See the [Proxy-Status RFC](https://datatracker.ietf.org/doc/html/draft-ietf-httpbis-proxy-status-08). [#comment:TODO: Update this with the non-draft URL when finalized.]

The Proxy-Status header is a string of the form:

"<server_name>; error=<error_type>; details=<details>"

[#next-free-field: 7]

func (*HttpConnectionManager_ProxyStatusConfig) Descriptor deprecated

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

Deprecated: Use HttpConnectionManager_ProxyStatusConfig.ProtoReflect.Descriptor instead.

func (*HttpConnectionManager_ProxyStatusConfig) GetLiteralProxyName

func (x *HttpConnectionManager_ProxyStatusConfig) GetLiteralProxyName() string

func (*HttpConnectionManager_ProxyStatusConfig) GetProxyName

func (m *HttpConnectionManager_ProxyStatusConfig) GetProxyName() isHttpConnectionManager_ProxyStatusConfig_ProxyName

func (*HttpConnectionManager_ProxyStatusConfig) GetRemoveConnectionTerminationDetails

func (x *HttpConnectionManager_ProxyStatusConfig) GetRemoveConnectionTerminationDetails() bool

func (*HttpConnectionManager_ProxyStatusConfig) GetRemoveDetails

func (x *HttpConnectionManager_ProxyStatusConfig) GetRemoveDetails() bool

func (*HttpConnectionManager_ProxyStatusConfig) GetRemoveResponseFlags

func (x *HttpConnectionManager_ProxyStatusConfig) GetRemoveResponseFlags() bool

func (*HttpConnectionManager_ProxyStatusConfig) GetSetRecommendedResponseCode

func (x *HttpConnectionManager_ProxyStatusConfig) GetSetRecommendedResponseCode() bool

func (*HttpConnectionManager_ProxyStatusConfig) GetUseNodeId

func (*HttpConnectionManager_ProxyStatusConfig) ProtoMessage

func (*HttpConnectionManager_ProxyStatusConfig) ProtoReflect

func (*HttpConnectionManager_ProxyStatusConfig) Reset

func (*HttpConnectionManager_ProxyStatusConfig) String

type HttpConnectionManager_ProxyStatusConfig_LiteralProxyName

type HttpConnectionManager_ProxyStatusConfig_LiteralProxyName struct {
	// If “literal_proxy_name“ is set, Proxy-Status headers will use this
	// value as the name of the proxy.
	LiteralProxyName string `protobuf:"bytes,6,opt,name=literal_proxy_name,json=literalProxyName,proto3,oneof"`
}

type HttpConnectionManager_ProxyStatusConfig_UseNodeId

type HttpConnectionManager_ProxyStatusConfig_UseNodeId struct {
	// If “use_node_id“ is set, Proxy-Status headers will use the Envoy's node
	// ID as the name of the proxy.
	UseNodeId bool `protobuf:"varint,5,opt,name=use_node_id,json=useNodeId,proto3,oneof"`
}

type HttpConnectionManager_Rds

type HttpConnectionManager_Rds struct {
	// The connection manager’s route table will be dynamically loaded via the RDS API.
	Rds *Rds `protobuf:"bytes,3,opt,name=rds,proto3,oneof"`
}

type HttpConnectionManager_RouteConfig

type HttpConnectionManager_RouteConfig struct {
	// The route table for the connection manager is static and is specified in this property.
	RouteConfig *v32.RouteConfiguration `protobuf:"bytes,4,opt,name=route_config,json=routeConfig,proto3,oneof"`
}

type HttpConnectionManager_ScopedRoutes

type HttpConnectionManager_ScopedRoutes struct {
	// A route table will be dynamically assigned to each request based on request attributes
	// (e.g., the value of a header). The "routing scopes" (i.e., route tables) and "scope keys" are
	// specified in this message.
	ScopedRoutes *ScopedRoutes `protobuf:"bytes,31,opt,name=scoped_routes,json=scopedRoutes,proto3,oneof"`
}

type HttpConnectionManager_ServerHeaderTransformation

type HttpConnectionManager_ServerHeaderTransformation int32
const (
	// Overwrite any Server header with the contents of server_name.
	HttpConnectionManager_OVERWRITE HttpConnectionManager_ServerHeaderTransformation = 0
	// If no Server header is present, append Server server_name
	// If a Server header is present, pass it through.
	HttpConnectionManager_APPEND_IF_ABSENT HttpConnectionManager_ServerHeaderTransformation = 1
	// Pass through the value of the server header, and do not append a header
	// if none is present.
	HttpConnectionManager_PASS_THROUGH HttpConnectionManager_ServerHeaderTransformation = 2
)

func (HttpConnectionManager_ServerHeaderTransformation) Descriptor

func (HttpConnectionManager_ServerHeaderTransformation) Enum

func (HttpConnectionManager_ServerHeaderTransformation) EnumDescriptor deprecated

Deprecated: Use HttpConnectionManager_ServerHeaderTransformation.Descriptor instead.

func (HttpConnectionManager_ServerHeaderTransformation) Number

func (HttpConnectionManager_ServerHeaderTransformation) String

func (HttpConnectionManager_ServerHeaderTransformation) Type

type HttpConnectionManager_SetCurrentClientCertDetails

type HttpConnectionManager_SetCurrentClientCertDetails struct {

	// Whether to forward the subject of the client cert. Defaults to false.
	Subject *wrapperspb.BoolValue `protobuf:"bytes,1,opt,name=subject,proto3" json:"subject,omitempty"`
	// Whether to forward the entire client cert in URL encoded PEM format. This will appear in the
	// XFCC header comma separated from other values with the value Cert="PEM".
	// Defaults to false.
	Cert bool `protobuf:"varint,3,opt,name=cert,proto3" json:"cert,omitempty"`
	// Whether to forward the entire client cert chain (including the leaf cert) in URL encoded PEM
	// format. This will appear in the XFCC header comma separated from other values with the value
	// Chain="PEM".
	// Defaults to false.
	Chain bool `protobuf:"varint,6,opt,name=chain,proto3" json:"chain,omitempty"`
	// Whether to forward the DNS type Subject Alternative Names of the client cert.
	// Defaults to false.
	Dns bool `protobuf:"varint,4,opt,name=dns,proto3" json:"dns,omitempty"`
	// Whether to forward the URI type Subject Alternative Name of the client cert. Defaults to
	// false.
	Uri bool `protobuf:"varint,5,opt,name=uri,proto3" json:"uri,omitempty"`
	// contains filtered or unexported fields
}

[#next-free-field: 7]

func (*HttpConnectionManager_SetCurrentClientCertDetails) Descriptor deprecated

Deprecated: Use HttpConnectionManager_SetCurrentClientCertDetails.ProtoReflect.Descriptor instead.

func (*HttpConnectionManager_SetCurrentClientCertDetails) GetCert

func (*HttpConnectionManager_SetCurrentClientCertDetails) GetChain

func (*HttpConnectionManager_SetCurrentClientCertDetails) GetDns

func (*HttpConnectionManager_SetCurrentClientCertDetails) GetSubject

func (*HttpConnectionManager_SetCurrentClientCertDetails) GetUri

func (*HttpConnectionManager_SetCurrentClientCertDetails) ProtoMessage

func (*HttpConnectionManager_SetCurrentClientCertDetails) ProtoReflect

func (*HttpConnectionManager_SetCurrentClientCertDetails) Reset

func (*HttpConnectionManager_SetCurrentClientCertDetails) String

type HttpConnectionManager_StripAnyHostPort

type HttpConnectionManager_StripAnyHostPort struct {
	// Determines if the port part should be removed from host/authority header before any processing
	// of request by HTTP filters or routing.
	// This affects the upstream host header unless the method is CONNECT in
	// which case if no filter adds a port the original port will be restored before headers are sent upstream.
	// Without setting this option, incoming requests with host “example:443“ will not match against
	// route with :ref:`domains<envoy_v3_api_field_config.route.v3.VirtualHost.domains>` match set to “example“. Defaults to “false“. Note that port removal is not part
	// of `HTTP spec <https://tools.ietf.org/html/rfc3986>`_ and is provided for convenience.
	// Only one of “strip_matching_host_port“ or “strip_any_host_port“ can be set.
	StripAnyHostPort bool `protobuf:"varint,42,opt,name=strip_any_host_port,json=stripAnyHostPort,proto3,oneof"`
}

type HttpConnectionManager_Tracing

type HttpConnectionManager_Tracing struct {

	// Target percentage of requests managed by this HTTP connection manager that will be force
	// traced if the :ref:`x-client-trace-id <config_http_conn_man_headers_x-client-trace-id>`
	// header is set. This field is a direct analog for the runtime variable
	// 'tracing.client_enabled' in the :ref:`HTTP Connection Manager
	// <config_http_conn_man_runtime>`.
	// Default: 100%
	ClientSampling *v33.Percent `protobuf:"bytes,3,opt,name=client_sampling,json=clientSampling,proto3" json:"client_sampling,omitempty"`
	// Target percentage of requests managed by this HTTP connection manager that will be randomly
	// selected for trace generation, if not requested by the client or not forced. This field is
	// a direct analog for the runtime variable 'tracing.random_sampling' in the
	// :ref:`HTTP Connection Manager <config_http_conn_man_runtime>`.
	// Default: 100%
	RandomSampling *v33.Percent `protobuf:"bytes,4,opt,name=random_sampling,json=randomSampling,proto3" json:"random_sampling,omitempty"`
	// Target percentage of requests managed by this HTTP connection manager that will be traced
	// after all other sampling checks have been applied (client-directed, force tracing, random
	// sampling). This field functions as an upper limit on the total configured sampling rate. For
	// instance, setting client_sampling to 100% but overall_sampling to 1% will result in only 1%
	// of client requests with the appropriate headers to be force traced. This field is a direct
	// analog for the runtime variable 'tracing.global_enabled' in the
	// :ref:`HTTP Connection Manager <config_http_conn_man_runtime>`.
	// Default: 100%
	OverallSampling *v33.Percent `protobuf:"bytes,5,opt,name=overall_sampling,json=overallSampling,proto3" json:"overall_sampling,omitempty"`
	// Whether to annotate spans with additional data. If true, spans will include logs for stream
	// events.
	Verbose bool `protobuf:"varint,6,opt,name=verbose,proto3" json:"verbose,omitempty"`
	// Maximum length of the request path to extract and include in the HttpUrl tag. Used to
	// truncate lengthy request paths to meet the needs of a tracing backend.
	// Default: 256
	MaxPathTagLength *wrapperspb.UInt32Value `protobuf:"bytes,7,opt,name=max_path_tag_length,json=maxPathTagLength,proto3" json:"max_path_tag_length,omitempty"`
	// A list of custom tags with unique tag name to create tags for the active span.
	CustomTags []*v34.CustomTag `protobuf:"bytes,8,rep,name=custom_tags,json=customTags,proto3" json:"custom_tags,omitempty"`
	// Configuration for an external tracing provider.
	// If not specified, no tracing will be performed.
	//
	// .. attention::
	//
	//	Please be aware that “envoy.tracers.opencensus“ provider can only be configured once
	//	in Envoy lifetime.
	//	Any attempts to reconfigure it or to use different configurations for different HCM filters
	//	will be rejected.
	//	Such a constraint is inherent to OpenCensus itself. It cannot be overcome without changes
	//	on OpenCensus side.
	Provider *v35.Tracing_Http `protobuf:"bytes,9,opt,name=provider,proto3" json:"provider,omitempty"`
	// Create separate tracing span for each upstream request if true. And if this flag is set to true,
	// the tracing provider will assume that Envoy will be independent hop in the trace chain and may
	// set span type to client or server based on this flag.
	// This will deprecate the
	// :ref:`start_child_span <envoy_v3_api_field_extensions.filters.http.router.v3.Router.start_child_span>`
	// in the router.
	//
	// Users should set appropriate value based on their tracing provider and actual scenario:
	//
	//   - If Envoy is used as sidecar and users want to make the sidecar and its application as only one
	//     hop in the trace chain, this flag should be set to false. And please also make sure the
	//     :ref:`start_child_span <envoy_v3_api_field_extensions.filters.http.router.v3.Router.start_child_span>`
	//     in the router is not set to true.
	//   - If Envoy is used as gateway or independent proxy, or users want to make the sidecar and its
	//     application as different hops in the trace chain, this flag should be set to true.
	//   - If tracing provider that has explicit requirements on span creation (like SkyWalking),
	//     this flag should be set to true.
	//
	// The default value is false for now for backward compatibility.
	SpawnUpstreamSpan *wrapperspb.BoolValue `protobuf:"bytes,10,opt,name=spawn_upstream_span,json=spawnUpstreamSpan,proto3" json:"spawn_upstream_span,omitempty"`
	// contains filtered or unexported fields
}

[#next-free-field: 11]

func (*HttpConnectionManager_Tracing) Descriptor deprecated

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

Deprecated: Use HttpConnectionManager_Tracing.ProtoReflect.Descriptor instead.

func (*HttpConnectionManager_Tracing) GetClientSampling

func (x *HttpConnectionManager_Tracing) GetClientSampling() *v33.Percent

func (*HttpConnectionManager_Tracing) GetCustomTags

func (x *HttpConnectionManager_Tracing) GetCustomTags() []*v34.CustomTag

func (*HttpConnectionManager_Tracing) GetMaxPathTagLength

func (x *HttpConnectionManager_Tracing) GetMaxPathTagLength() *wrapperspb.UInt32Value

func (*HttpConnectionManager_Tracing) GetOverallSampling

func (x *HttpConnectionManager_Tracing) GetOverallSampling() *v33.Percent

func (*HttpConnectionManager_Tracing) GetProvider

func (*HttpConnectionManager_Tracing) GetRandomSampling

func (x *HttpConnectionManager_Tracing) GetRandomSampling() *v33.Percent

func (*HttpConnectionManager_Tracing) GetSpawnUpstreamSpan

func (x *HttpConnectionManager_Tracing) GetSpawnUpstreamSpan() *wrapperspb.BoolValue

func (*HttpConnectionManager_Tracing) GetVerbose

func (x *HttpConnectionManager_Tracing) GetVerbose() bool

func (*HttpConnectionManager_Tracing) ProtoMessage

func (*HttpConnectionManager_Tracing) ProtoMessage()

func (*HttpConnectionManager_Tracing) ProtoReflect

func (*HttpConnectionManager_Tracing) Reset

func (x *HttpConnectionManager_Tracing) Reset()

func (*HttpConnectionManager_Tracing) String

type HttpConnectionManager_Tracing_OperationName

type HttpConnectionManager_Tracing_OperationName int32
const (
	// The HTTP listener is used for ingress/incoming requests.
	HttpConnectionManager_Tracing_INGRESS HttpConnectionManager_Tracing_OperationName = 0
	// The HTTP listener is used for egress/outgoing requests.
	HttpConnectionManager_Tracing_EGRESS HttpConnectionManager_Tracing_OperationName = 1
)

func (HttpConnectionManager_Tracing_OperationName) Descriptor

func (HttpConnectionManager_Tracing_OperationName) Enum

func (HttpConnectionManager_Tracing_OperationName) EnumDescriptor deprecated

func (HttpConnectionManager_Tracing_OperationName) EnumDescriptor() ([]byte, []int)

Deprecated: Use HttpConnectionManager_Tracing_OperationName.Descriptor instead.

func (HttpConnectionManager_Tracing_OperationName) Number

func (HttpConnectionManager_Tracing_OperationName) String

func (HttpConnectionManager_Tracing_OperationName) Type

type HttpConnectionManager_UpgradeConfig

type HttpConnectionManager_UpgradeConfig struct {

	// The case-insensitive name of this upgrade, e.g. "websocket".
	// For each upgrade type present in upgrade_configs, requests with
	// Upgrade: [upgrade_type]
	// will be proxied upstream.
	UpgradeType string `protobuf:"bytes,1,opt,name=upgrade_type,json=upgradeType,proto3" json:"upgrade_type,omitempty"`
	// If present, this represents the filter chain which will be created for
	// this type of upgrade. If no filters are present, the filter chain for
	// HTTP connections will be used for this upgrade type.
	Filters []*HttpFilter `protobuf:"bytes,2,rep,name=filters,proto3" json:"filters,omitempty"`
	// Determines if upgrades are enabled or disabled by default. Defaults to true.
	// This can be overridden on a per-route basis with :ref:`cluster
	// <envoy_v3_api_field_config.route.v3.RouteAction.upgrade_configs>` as documented in the
	// :ref:`upgrade documentation <arch_overview_upgrades>`.
	Enabled *wrapperspb.BoolValue `protobuf:"bytes,3,opt,name=enabled,proto3" json:"enabled,omitempty"`
	// contains filtered or unexported fields
}

The configuration for HTTP upgrades. For each upgrade type desired, an UpgradeConfig must be added.

.. warning::

The current implementation of upgrade headers does not handle
multi-valued upgrade headers. Support for multi-valued headers may be
added in the future if needed.

.. warning::

The current implementation of upgrade headers does not work with HTTP/2
upstreams.

func (*HttpConnectionManager_UpgradeConfig) Descriptor deprecated

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

Deprecated: Use HttpConnectionManager_UpgradeConfig.ProtoReflect.Descriptor instead.

func (*HttpConnectionManager_UpgradeConfig) GetEnabled

func (*HttpConnectionManager_UpgradeConfig) GetFilters

func (*HttpConnectionManager_UpgradeConfig) GetUpgradeType

func (x *HttpConnectionManager_UpgradeConfig) GetUpgradeType() string

func (*HttpConnectionManager_UpgradeConfig) ProtoMessage

func (*HttpConnectionManager_UpgradeConfig) ProtoMessage()

func (*HttpConnectionManager_UpgradeConfig) ProtoReflect

func (*HttpConnectionManager_UpgradeConfig) Reset

func (*HttpConnectionManager_UpgradeConfig) String

type HttpFilter

type HttpFilter struct {

	// The name of the filter configuration. It also serves as a resource name in ExtensionConfigDS.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// Types that are assignable to ConfigType:
	//
	//	*HttpFilter_TypedConfig
	//	*HttpFilter_ConfigDiscovery
	ConfigType isHttpFilter_ConfigType `protobuf_oneof:"config_type"`
	// If true, clients that do not support this filter may ignore the
	// filter but otherwise accept the config.
	// Otherwise, clients that do not support this filter must reject the config.
	IsOptional bool `protobuf:"varint,6,opt,name=is_optional,json=isOptional,proto3" json:"is_optional,omitempty"`
	// If true, the filter is disabled by default and must be explicitly enabled by setting
	// per filter configuration in the route configuration.
	// See :ref:`route based filter chain <arch_overview_http_filters_route_based_filter_chain>`
	// for more details.
	//
	// Terminal filters (e.g. “envoy.filters.http.router“) cannot be marked as disabled.
	Disabled bool `protobuf:"varint,7,opt,name=disabled,proto3" json:"disabled,omitempty"`
	// contains filtered or unexported fields
}

[#next-free-field: 8]

func (*HttpFilter) Descriptor deprecated

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

Deprecated: Use HttpFilter.ProtoReflect.Descriptor instead.

func (*HttpFilter) GetConfigDiscovery

func (x *HttpFilter) GetConfigDiscovery() *v3.ExtensionConfigSource

func (*HttpFilter) GetConfigType

func (m *HttpFilter) GetConfigType() isHttpFilter_ConfigType

func (*HttpFilter) GetDisabled

func (x *HttpFilter) GetDisabled() bool

func (*HttpFilter) GetIsOptional

func (x *HttpFilter) GetIsOptional() bool

func (*HttpFilter) GetName

func (x *HttpFilter) GetName() string

func (*HttpFilter) GetTypedConfig

func (x *HttpFilter) GetTypedConfig() *anypb.Any

func (*HttpFilter) ProtoMessage

func (*HttpFilter) ProtoMessage()

func (*HttpFilter) ProtoReflect

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

func (*HttpFilter) Reset

func (x *HttpFilter) Reset()

func (*HttpFilter) String

func (x *HttpFilter) String() string

type HttpFilter_ConfigDiscovery

type HttpFilter_ConfigDiscovery struct {
	// Configuration source specifier for an extension configuration discovery service.
	// In case of a failure and without the default configuration, the HTTP listener responds with code 500.
	// Extension configs delivered through this mechanism are not expected to require warming (see https://github.com/envoyproxy/envoy/issues/12061).
	//
	// To support configuring a :ref:`match tree <arch_overview_matching_api>`, use an
	// :ref:`ExtensionWithMatcher <envoy_v3_api_msg_extensions.common.matching.v3.ExtensionWithMatcher>`
	// with the desired HTTP filter. This works for both the default filter configuration as well
	// as for filters provided via the API.
	ConfigDiscovery *v3.ExtensionConfigSource `protobuf:"bytes,5,opt,name=config_discovery,json=configDiscovery,proto3,oneof"`
}

type HttpFilter_TypedConfig

type HttpFilter_TypedConfig struct {
	// Filter specific configuration which depends on the filter being instantiated. See the supported
	// filters for further documentation.
	//
	// To support configuring a :ref:`match tree <arch_overview_matching_api>`, use an
	// :ref:`ExtensionWithMatcher <envoy_v3_api_msg_extensions.common.matching.v3.ExtensionWithMatcher>`
	// with the desired HTTP filter.
	// [#extension-category: envoy.filters.http]
	TypedConfig *anypb.Any `protobuf:"bytes,4,opt,name=typed_config,json=typedConfig,proto3,oneof"`
}

type LocalReplyConfig

type LocalReplyConfig struct {

	// Configuration of list of mappers which allows to filter and change local response.
	// The mappers will be checked by the specified order until one is matched.
	Mappers []*ResponseMapper `protobuf:"bytes,1,rep,name=mappers,proto3" json:"mappers,omitempty"`
	// The configuration to form response body from the :ref:`command operators <config_access_log_command_operators>`
	// and to specify response content type as one of: plain/text or application/json.
	//
	// Example one: "plain/text" “body_format“.
	//
	// .. validated-code-block:: yaml
	//
	//	:type-name: envoy.config.core.v3.SubstitutionFormatString
	//
	//	text_format: "%LOCAL_REPLY_BODY%:%RESPONSE_CODE%:path=%REQ(:path)%\n"
	//
	// The following response body in "plain/text" format will be generated for a request with
	// local reply body of "upstream connection error", response_code=503 and path=/foo.
	//
	// .. code-block:: text
	//
	//	upstream connect error:503:path=/foo
	//
	// Example two: "application/json" “body_format“.
	//
	// .. validated-code-block:: yaml
	//
	//	:type-name: envoy.config.core.v3.SubstitutionFormatString
	//
	//	json_format:
	//	  status: "%RESPONSE_CODE%"
	//	  message: "%LOCAL_REPLY_BODY%"
	//	  path: "%REQ(:path)%"
	//
	// The following response body in "application/json" format would be generated for a request with
	// local reply body of "upstream connection error", response_code=503 and path=/foo.
	//
	// .. code-block:: json
	//
	//	{
	//	  "status": 503,
	//	  "message": "upstream connection error",
	//	  "path": "/foo"
	//	}
	BodyFormat *v3.SubstitutionFormatString `protobuf:"bytes,2,opt,name=body_format,json=bodyFormat,proto3" json:"body_format,omitempty"`
	// contains filtered or unexported fields
}

The configuration to customize local reply returned by Envoy.

func (*LocalReplyConfig) Descriptor deprecated

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

Deprecated: Use LocalReplyConfig.ProtoReflect.Descriptor instead.

func (*LocalReplyConfig) GetBodyFormat

func (x *LocalReplyConfig) GetBodyFormat() *v3.SubstitutionFormatString

func (*LocalReplyConfig) GetMappers

func (x *LocalReplyConfig) GetMappers() []*ResponseMapper

func (*LocalReplyConfig) ProtoMessage

func (*LocalReplyConfig) ProtoMessage()

func (*LocalReplyConfig) ProtoReflect

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

func (*LocalReplyConfig) Reset

func (x *LocalReplyConfig) Reset()

func (*LocalReplyConfig) String

func (x *LocalReplyConfig) String() string

type Rds

type Rds struct {

	// Configuration source specifier for RDS.
	ConfigSource *v3.ConfigSource `protobuf:"bytes,1,opt,name=config_source,json=configSource,proto3" json:"config_source,omitempty"`
	// The name of the route configuration. This name will be passed to the RDS
	// API. This allows an Envoy configuration with multiple HTTP listeners (and
	// associated HTTP connection manager filters) to use different route
	// configurations.
	RouteConfigName string `protobuf:"bytes,2,opt,name=route_config_name,json=routeConfigName,proto3" json:"route_config_name,omitempty"`
	// contains filtered or unexported fields
}

func (*Rds) Descriptor deprecated

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

Deprecated: Use Rds.ProtoReflect.Descriptor instead.

func (*Rds) GetConfigSource

func (x *Rds) GetConfigSource() *v3.ConfigSource

func (*Rds) GetRouteConfigName

func (x *Rds) GetRouteConfigName() string

func (*Rds) ProtoMessage

func (*Rds) ProtoMessage()

func (*Rds) ProtoReflect

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

func (*Rds) Reset

func (x *Rds) Reset()

func (*Rds) String

func (x *Rds) String() string

type RequestIDExtension

type RequestIDExtension struct {

	// Request ID extension specific configuration.
	TypedConfig *anypb.Any `protobuf:"bytes,1,opt,name=typed_config,json=typedConfig,proto3" json:"typed_config,omitempty"`
	// contains filtered or unexported fields
}

func (*RequestIDExtension) Descriptor deprecated

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

Deprecated: Use RequestIDExtension.ProtoReflect.Descriptor instead.

func (*RequestIDExtension) GetTypedConfig

func (x *RequestIDExtension) GetTypedConfig() *anypb.Any

func (*RequestIDExtension) ProtoMessage

func (*RequestIDExtension) ProtoMessage()

func (*RequestIDExtension) ProtoReflect

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

func (*RequestIDExtension) Reset

func (x *RequestIDExtension) Reset()

func (*RequestIDExtension) String

func (x *RequestIDExtension) String() string

type ResponseMapper

type ResponseMapper struct {

	// Filter to determine if this mapper should apply.
	Filter *v31.AccessLogFilter `protobuf:"bytes,1,opt,name=filter,proto3" json:"filter,omitempty"`
	// The new response status code if specified.
	StatusCode *wrapperspb.UInt32Value `protobuf:"bytes,2,opt,name=status_code,json=statusCode,proto3" json:"status_code,omitempty"`
	// The new local reply body text if specified. It will be used in the “%LOCAL_REPLY_BODY%“
	// command operator in the “body_format“.
	Body *v3.DataSource `protobuf:"bytes,3,opt,name=body,proto3" json:"body,omitempty"`
	// A per mapper “body_format“ to override the :ref:`body_format <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.LocalReplyConfig.body_format>`.
	// It will be used when this mapper is matched.
	BodyFormatOverride *v3.SubstitutionFormatString `protobuf:"bytes,4,opt,name=body_format_override,json=bodyFormatOverride,proto3" json:"body_format_override,omitempty"`
	// HTTP headers to add to a local reply. This allows the response mapper to append, to add
	// or to override headers of any local reply before it is sent to a downstream client.
	HeadersToAdd []*v3.HeaderValueOption `protobuf:"bytes,5,rep,name=headers_to_add,json=headersToAdd,proto3" json:"headers_to_add,omitempty"`
	// contains filtered or unexported fields
}

The configuration to filter and change local response. [#next-free-field: 6]

func (*ResponseMapper) Descriptor deprecated

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

Deprecated: Use ResponseMapper.ProtoReflect.Descriptor instead.

func (*ResponseMapper) GetBody

func (x *ResponseMapper) GetBody() *v3.DataSource

func (*ResponseMapper) GetBodyFormatOverride

func (x *ResponseMapper) GetBodyFormatOverride() *v3.SubstitutionFormatString

func (*ResponseMapper) GetFilter

func (x *ResponseMapper) GetFilter() *v31.AccessLogFilter

func (*ResponseMapper) GetHeadersToAdd

func (x *ResponseMapper) GetHeadersToAdd() []*v3.HeaderValueOption

func (*ResponseMapper) GetStatusCode

func (x *ResponseMapper) GetStatusCode() *wrapperspb.UInt32Value

func (*ResponseMapper) ProtoMessage

func (*ResponseMapper) ProtoMessage()

func (*ResponseMapper) ProtoReflect

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

func (*ResponseMapper) Reset

func (x *ResponseMapper) Reset()

func (*ResponseMapper) String

func (x *ResponseMapper) String() string

type ScopedRds

type ScopedRds struct {

	// Configuration source specifier for scoped RDS.
	ScopedRdsConfigSource *v3.ConfigSource `` /* 128-byte string literal not displayed */
	// xdstp:// resource locator for scoped RDS collection.
	// [#not-implemented-hide:]
	SrdsResourcesLocator string `protobuf:"bytes,2,opt,name=srds_resources_locator,json=srdsResourcesLocator,proto3" json:"srds_resources_locator,omitempty"`
	// contains filtered or unexported fields
}

func (*ScopedRds) Descriptor deprecated

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

Deprecated: Use ScopedRds.ProtoReflect.Descriptor instead.

func (*ScopedRds) GetScopedRdsConfigSource

func (x *ScopedRds) GetScopedRdsConfigSource() *v3.ConfigSource

func (*ScopedRds) GetSrdsResourcesLocator

func (x *ScopedRds) GetSrdsResourcesLocator() string

func (*ScopedRds) ProtoMessage

func (*ScopedRds) ProtoMessage()

func (*ScopedRds) ProtoReflect

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

func (*ScopedRds) Reset

func (x *ScopedRds) Reset()

func (*ScopedRds) String

func (x *ScopedRds) String() string

type ScopedRouteConfigurationsList

type ScopedRouteConfigurationsList struct {
	ScopedRouteConfigurations []*v32.ScopedRouteConfiguration `` /* 138-byte string literal not displayed */
	// contains filtered or unexported fields
}

This message is used to work around the limitations with 'oneof' and repeated fields.

func (*ScopedRouteConfigurationsList) Descriptor deprecated

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

Deprecated: Use ScopedRouteConfigurationsList.ProtoReflect.Descriptor instead.

func (*ScopedRouteConfigurationsList) GetScopedRouteConfigurations

func (x *ScopedRouteConfigurationsList) GetScopedRouteConfigurations() []*v32.ScopedRouteConfiguration

func (*ScopedRouteConfigurationsList) ProtoMessage

func (*ScopedRouteConfigurationsList) ProtoMessage()

func (*ScopedRouteConfigurationsList) ProtoReflect

func (*ScopedRouteConfigurationsList) Reset

func (x *ScopedRouteConfigurationsList) Reset()

func (*ScopedRouteConfigurationsList) String

type ScopedRoutes

type ScopedRoutes struct {

	// The name assigned to the scoped routing configuration.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The algorithm to use for constructing a scope key for each request.
	ScopeKeyBuilder *ScopedRoutes_ScopeKeyBuilder `protobuf:"bytes,2,opt,name=scope_key_builder,json=scopeKeyBuilder,proto3" json:"scope_key_builder,omitempty"`
	// Configuration source specifier for RDS.
	// This config source is used to subscribe to RouteConfiguration resources specified in
	// ScopedRouteConfiguration messages.
	RdsConfigSource *v3.ConfigSource `protobuf:"bytes,3,opt,name=rds_config_source,json=rdsConfigSource,proto3" json:"rds_config_source,omitempty"`
	// Types that are assignable to ConfigSpecifier:
	//
	//	*ScopedRoutes_ScopedRouteConfigurationsList
	//	*ScopedRoutes_ScopedRds
	ConfigSpecifier isScopedRoutes_ConfigSpecifier `protobuf_oneof:"config_specifier"`
	// contains filtered or unexported fields
}

[#next-free-field: 6]

func (*ScopedRoutes) Descriptor deprecated

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

Deprecated: Use ScopedRoutes.ProtoReflect.Descriptor instead.

func (*ScopedRoutes) GetConfigSpecifier

func (m *ScopedRoutes) GetConfigSpecifier() isScopedRoutes_ConfigSpecifier

func (*ScopedRoutes) GetName

func (x *ScopedRoutes) GetName() string

func (*ScopedRoutes) GetRdsConfigSource

func (x *ScopedRoutes) GetRdsConfigSource() *v3.ConfigSource

func (*ScopedRoutes) GetScopeKeyBuilder

func (x *ScopedRoutes) GetScopeKeyBuilder() *ScopedRoutes_ScopeKeyBuilder

func (*ScopedRoutes) GetScopedRds

func (x *ScopedRoutes) GetScopedRds() *ScopedRds

func (*ScopedRoutes) GetScopedRouteConfigurationsList

func (x *ScopedRoutes) GetScopedRouteConfigurationsList() *ScopedRouteConfigurationsList

func (*ScopedRoutes) ProtoMessage

func (*ScopedRoutes) ProtoMessage()

func (*ScopedRoutes) ProtoReflect

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

func (*ScopedRoutes) Reset

func (x *ScopedRoutes) Reset()

func (*ScopedRoutes) String

func (x *ScopedRoutes) String() string

type ScopedRoutes_ScopeKeyBuilder

type ScopedRoutes_ScopeKeyBuilder struct {

	// The final(built) scope key consists of the ordered union of these fragments, which are compared in order with the
	// fragments of a :ref:`ScopedRouteConfiguration<envoy_v3_api_msg_config.route.v3.ScopedRouteConfiguration>`.
	// A missing fragment during comparison will make the key invalid, i.e., the computed key doesn't match any key.
	Fragments []*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder `protobuf:"bytes,1,rep,name=fragments,proto3" json:"fragments,omitempty"`
	// contains filtered or unexported fields
}

Specifies the mechanism for constructing "scope keys" based on HTTP request attributes. These keys are matched against a set of :ref:`Key<envoy_v3_api_msg_config.route.v3.ScopedRouteConfiguration.Key>` objects assembled from :ref:`ScopedRouteConfiguration<envoy_v3_api_msg_config.route.v3.ScopedRouteConfiguration>` messages distributed via SRDS (the Scoped Route Discovery Service) or assigned statically via :ref:`scoped_route_configurations_list<envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.ScopedRoutes.scoped_route_configurations_list>`.

Upon receiving a request's headers, the Router will build a key using the algorithm specified by this message. This key will be used to look up the routing table (i.e., the :ref:`RouteConfiguration<envoy_v3_api_msg_config.route.v3.RouteConfiguration>`) to use for the request.

func (*ScopedRoutes_ScopeKeyBuilder) Descriptor deprecated

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

Deprecated: Use ScopedRoutes_ScopeKeyBuilder.ProtoReflect.Descriptor instead.

func (*ScopedRoutes_ScopeKeyBuilder) GetFragments

func (*ScopedRoutes_ScopeKeyBuilder) ProtoMessage

func (*ScopedRoutes_ScopeKeyBuilder) ProtoMessage()

func (*ScopedRoutes_ScopeKeyBuilder) ProtoReflect

func (*ScopedRoutes_ScopeKeyBuilder) Reset

func (x *ScopedRoutes_ScopeKeyBuilder) Reset()

func (*ScopedRoutes_ScopeKeyBuilder) String

type ScopedRoutes_ScopeKeyBuilder_FragmentBuilder

type ScopedRoutes_ScopeKeyBuilder_FragmentBuilder struct {

	// Types that are assignable to Type:
	//
	//	*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_
	Type isScopedRoutes_ScopeKeyBuilder_FragmentBuilder_Type `protobuf_oneof:"type"`
	// contains filtered or unexported fields
}

Specifies the mechanism for constructing key fragments which are composed into scope keys.

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) Descriptor deprecated

Deprecated: Use ScopedRoutes_ScopeKeyBuilder_FragmentBuilder.ProtoReflect.Descriptor instead.

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) GetHeaderValueExtractor

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) GetType

func (m *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) GetType() isScopedRoutes_ScopeKeyBuilder_FragmentBuilder_Type

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) ProtoMessage

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) ProtoReflect

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) Reset

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder) String

type ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor

type ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor struct {

	// The name of the header field to extract the value from.
	//
	// .. note::
	//
	//	If the header appears multiple times only the first value is used.
	Name string `protobuf:"bytes,1,opt,name=name,proto3" json:"name,omitempty"`
	// The element separator (e.g., ';' separates 'a;b;c;d').
	// Default: empty string. This causes the entirety of the header field to be extracted.
	// If this field is set to an empty string and 'index' is used in the oneof below, 'index'
	// must be set to 0.
	ElementSeparator string `protobuf:"bytes,2,opt,name=element_separator,json=elementSeparator,proto3" json:"element_separator,omitempty"`
	// Types that are assignable to ExtractType:
	//
	//	*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_Index
	//	*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_Element
	ExtractType isScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_ExtractType `protobuf_oneof:"extract_type"`
	// contains filtered or unexported fields
}

Specifies how the value of a header should be extracted. The following example maps the structure of a header to the fields in this message.

.. code::

          <0> <1>   <-- index
X-Header: a=b;c=d
|         || |
|         || \----> <element_separator>
|         ||
|         |\----> <element.separator>
|         |
|         \----> <element.key>
|
\----> <name>

Each 'a=b' key-value pair constitutes an 'element' of the header field.

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) Descriptor deprecated

Deprecated: Use ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor.ProtoReflect.Descriptor instead.

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) GetElement

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) GetElementSeparator

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) GetExtractType

func (m *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) GetExtractType() isScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_ExtractType

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) GetIndex

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) GetName

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) ProtoMessage

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) ProtoReflect

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) Reset

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor) String

type ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_

type ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_ struct {
	// Specifies how a header field's value should be extracted.
	HeaderValueExtractor *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor `protobuf:"bytes,1,opt,name=header_value_extractor,json=headerValueExtractor,proto3,oneof"`
}

type ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_Element

type ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_Element struct {
	// Specifies the key value pair to extract the value from.
	Element *ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement `protobuf:"bytes,4,opt,name=element,proto3,oneof"`
}

type ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_Index

type ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_Index struct {
	// Specifies the zero based index of the element to extract.
	// Note Envoy concatenates multiple values of the same header key into a comma separated
	// string, the splitting always happens after the concatenation.
	Index uint32 `protobuf:"varint,3,opt,name=index,proto3,oneof"`
}

type ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement

type ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement struct {

	// The separator between key and value (e.g., '=' separates 'k=v;...').
	// If an element is an empty string, the element is ignored.
	// If an element contains no separator, the whole element is parsed as key and the
	// fragment value is an empty string.
	// If there are multiple values for a matched key, the first value is returned.
	Separator string `protobuf:"bytes,1,opt,name=separator,proto3" json:"separator,omitempty"`
	// The key to match on.
	Key string `protobuf:"bytes,2,opt,name=key,proto3" json:"key,omitempty"`
	// contains filtered or unexported fields
}

Specifies a header field's key value pair to match on.

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement) Descriptor deprecated

Deprecated: Use ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement.ProtoReflect.Descriptor instead.

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement) GetKey

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement) GetSeparator

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement) ProtoMessage

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement) ProtoReflect

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement) Reset

func (*ScopedRoutes_ScopeKeyBuilder_FragmentBuilder_HeaderValueExtractor_KvElement) String

type ScopedRoutes_ScopedRds

type ScopedRoutes_ScopedRds struct {
	// The set of routing scopes associated with the HCM will be dynamically loaded via the SRDS
	// API. A scope is assigned to a request by matching a key constructed from the request's
	// attributes according to the algorithm specified by the
	// :ref:`ScopeKeyBuilder<envoy_v3_api_msg_extensions.filters.network.http_connection_manager.v3.ScopedRoutes.ScopeKeyBuilder>`
	// in this message.
	ScopedRds *ScopedRds `protobuf:"bytes,5,opt,name=scoped_rds,json=scopedRds,proto3,oneof"`
}

type ScopedRoutes_ScopedRouteConfigurationsList

type ScopedRoutes_ScopedRouteConfigurationsList struct {
	// The set of routing scopes corresponding to the HCM. A scope is assigned to a request by
	// matching a key constructed from the request's attributes according to the algorithm specified
	// by the
	// :ref:`ScopeKeyBuilder<envoy_v3_api_msg_extensions.filters.network.http_connection_manager.v3.ScopedRoutes.ScopeKeyBuilder>`
	// in this message.
	ScopedRouteConfigurationsList *ScopedRouteConfigurationsList `protobuf:"bytes,4,opt,name=scoped_route_configurations_list,json=scopedRouteConfigurationsList,proto3,oneof"`
}

Jump to

Keyboard shortcuts

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