Documentation
¶
Index ¶
- Constants
- Variables
- type HttpProtocolOptions
- func (x *HttpProtocolOptions) ClearAutoConfig()
- func (x *HttpProtocolOptions) ClearCommonHttpProtocolOptions()
- func (x *HttpProtocolOptions) ClearExplicitHttpConfig()
- func (x *HttpProtocolOptions) ClearHeaderValidationConfig()
- func (x *HttpProtocolOptions) ClearOutlierDetection()
- func (x *HttpProtocolOptions) ClearRetryPolicy()
- func (x *HttpProtocolOptions) ClearUpstreamHttpProtocolOptions()
- func (x *HttpProtocolOptions) ClearUpstreamProtocolOptions()
- func (x *HttpProtocolOptions) ClearUseDownstreamProtocolConfig()
- func (x *HttpProtocolOptions) GetAutoConfig() *HttpProtocolOptions_AutoHttpConfig
- func (x *HttpProtocolOptions) GetCommonHttpProtocolOptions() *v3.HttpProtocolOptions
- func (x *HttpProtocolOptions) GetExplicitHttpConfig() *HttpProtocolOptions_ExplicitHttpConfig
- func (x *HttpProtocolOptions) GetHashPolicy() []*v32.RouteAction_HashPolicy
- func (x *HttpProtocolOptions) GetHeaderValidationConfig() *v3.TypedExtensionConfig
- func (x *HttpProtocolOptions) GetHttpFilters() []*v31.HttpFilter
- func (x *HttpProtocolOptions) GetOutlierDetection() *HttpProtocolOptions_OutlierDetection
- func (x *HttpProtocolOptions) GetRequestMirrorPolicies() []*v32.RouteAction_RequestMirrorPolicy
- func (x *HttpProtocolOptions) GetRetryPolicy() *v32.RetryPolicy
- func (x *HttpProtocolOptions) GetUpstreamHttpProtocolOptions() *v3.UpstreamHttpProtocolOptions
- func (x *HttpProtocolOptions) GetUpstreamProtocolOptions() isHttpProtocolOptions_UpstreamProtocolOptions
- func (x *HttpProtocolOptions) GetUseDownstreamProtocolConfig() *HttpProtocolOptions_UseDownstreamHttpConfig
- func (x *HttpProtocolOptions) HasAutoConfig() bool
- func (x *HttpProtocolOptions) HasCommonHttpProtocolOptions() bool
- func (x *HttpProtocolOptions) HasExplicitHttpConfig() bool
- func (x *HttpProtocolOptions) HasHeaderValidationConfig() bool
- func (x *HttpProtocolOptions) HasOutlierDetection() bool
- func (x *HttpProtocolOptions) HasRetryPolicy() bool
- func (x *HttpProtocolOptions) HasUpstreamHttpProtocolOptions() bool
- func (x *HttpProtocolOptions) HasUpstreamProtocolOptions() bool
- func (x *HttpProtocolOptions) HasUseDownstreamProtocolConfig() bool
- func (*HttpProtocolOptions) ProtoMessage()
- func (x *HttpProtocolOptions) ProtoReflect() protoreflect.Message
- func (x *HttpProtocolOptions) Reset()
- func (x *HttpProtocolOptions) SetAutoConfig(v *HttpProtocolOptions_AutoHttpConfig)
- func (x *HttpProtocolOptions) SetCommonHttpProtocolOptions(v *v3.HttpProtocolOptions)
- func (x *HttpProtocolOptions) SetExplicitHttpConfig(v *HttpProtocolOptions_ExplicitHttpConfig)
- func (x *HttpProtocolOptions) SetHashPolicy(v []*v32.RouteAction_HashPolicy)
- func (x *HttpProtocolOptions) SetHeaderValidationConfig(v *v3.TypedExtensionConfig)
- func (x *HttpProtocolOptions) SetHttpFilters(v []*v31.HttpFilter)
- func (x *HttpProtocolOptions) SetOutlierDetection(v *HttpProtocolOptions_OutlierDetection)
- func (x *HttpProtocolOptions) SetRequestMirrorPolicies(v []*v32.RouteAction_RequestMirrorPolicy)
- func (x *HttpProtocolOptions) SetRetryPolicy(v *v32.RetryPolicy)
- func (x *HttpProtocolOptions) SetUpstreamHttpProtocolOptions(v *v3.UpstreamHttpProtocolOptions)
- func (x *HttpProtocolOptions) SetUseDownstreamProtocolConfig(v *HttpProtocolOptions_UseDownstreamHttpConfig)
- func (x *HttpProtocolOptions) String() string
- func (x *HttpProtocolOptions) WhichUpstreamProtocolOptions() case_HttpProtocolOptions_UpstreamProtocolOptions
- type HttpProtocolOptions_AutoConfig
- type HttpProtocolOptions_AutoHttpConfig
- func (x *HttpProtocolOptions_AutoHttpConfig) ClearAlternateProtocolsCacheOptions()
- func (x *HttpProtocolOptions_AutoHttpConfig) ClearHttp2ProtocolOptions()
- func (x *HttpProtocolOptions_AutoHttpConfig) ClearHttp3ProtocolOptions()
- func (x *HttpProtocolOptions_AutoHttpConfig) ClearHttpProtocolOptions()
- func (x *HttpProtocolOptions_AutoHttpConfig) GetAlternateProtocolsCacheOptions() *v3.AlternateProtocolsCacheOptions
- func (x *HttpProtocolOptions_AutoHttpConfig) GetHttp2ProtocolOptions() *v3.Http2ProtocolOptions
- func (x *HttpProtocolOptions_AutoHttpConfig) GetHttp3ProtocolOptions() *v3.Http3ProtocolOptions
- func (x *HttpProtocolOptions_AutoHttpConfig) GetHttpProtocolOptions() *v3.Http1ProtocolOptions
- func (x *HttpProtocolOptions_AutoHttpConfig) HasAlternateProtocolsCacheOptions() bool
- func (x *HttpProtocolOptions_AutoHttpConfig) HasHttp2ProtocolOptions() bool
- func (x *HttpProtocolOptions_AutoHttpConfig) HasHttp3ProtocolOptions() bool
- func (x *HttpProtocolOptions_AutoHttpConfig) HasHttpProtocolOptions() bool
- func (*HttpProtocolOptions_AutoHttpConfig) ProtoMessage()
- func (x *HttpProtocolOptions_AutoHttpConfig) ProtoReflect() protoreflect.Message
- func (x *HttpProtocolOptions_AutoHttpConfig) Reset()
- func (x *HttpProtocolOptions_AutoHttpConfig) SetAlternateProtocolsCacheOptions(v *v3.AlternateProtocolsCacheOptions)
- func (x *HttpProtocolOptions_AutoHttpConfig) SetHttp2ProtocolOptions(v *v3.Http2ProtocolOptions)
- func (x *HttpProtocolOptions_AutoHttpConfig) SetHttp3ProtocolOptions(v *v3.Http3ProtocolOptions)
- func (x *HttpProtocolOptions_AutoHttpConfig) SetHttpProtocolOptions(v *v3.Http1ProtocolOptions)
- func (x *HttpProtocolOptions_AutoHttpConfig) String() string
- type HttpProtocolOptions_AutoHttpConfig_builder
- type HttpProtocolOptions_ExplicitHttpConfig
- func (x *HttpProtocolOptions_ExplicitHttpConfig) ClearHttp2ProtocolOptions()
- func (x *HttpProtocolOptions_ExplicitHttpConfig) ClearHttp3ProtocolOptions()
- func (x *HttpProtocolOptions_ExplicitHttpConfig) ClearHttpProtocolOptions()
- func (x *HttpProtocolOptions_ExplicitHttpConfig) ClearProtocolConfig()
- func (x *HttpProtocolOptions_ExplicitHttpConfig) GetHttp2ProtocolOptions() *v3.Http2ProtocolOptions
- func (x *HttpProtocolOptions_ExplicitHttpConfig) GetHttp3ProtocolOptions() *v3.Http3ProtocolOptions
- func (x *HttpProtocolOptions_ExplicitHttpConfig) GetHttpProtocolOptions() *v3.Http1ProtocolOptions
- func (x *HttpProtocolOptions_ExplicitHttpConfig) GetProtocolConfig() isHttpProtocolOptions_ExplicitHttpConfig_ProtocolConfig
- func (x *HttpProtocolOptions_ExplicitHttpConfig) HasHttp2ProtocolOptions() bool
- func (x *HttpProtocolOptions_ExplicitHttpConfig) HasHttp3ProtocolOptions() bool
- func (x *HttpProtocolOptions_ExplicitHttpConfig) HasHttpProtocolOptions() bool
- func (x *HttpProtocolOptions_ExplicitHttpConfig) HasProtocolConfig() bool
- func (*HttpProtocolOptions_ExplicitHttpConfig) ProtoMessage()
- func (x *HttpProtocolOptions_ExplicitHttpConfig) ProtoReflect() protoreflect.Message
- func (x *HttpProtocolOptions_ExplicitHttpConfig) Reset()
- func (x *HttpProtocolOptions_ExplicitHttpConfig) SetHttp2ProtocolOptions(v *v3.Http2ProtocolOptions)
- func (x *HttpProtocolOptions_ExplicitHttpConfig) SetHttp3ProtocolOptions(v *v3.Http3ProtocolOptions)
- func (x *HttpProtocolOptions_ExplicitHttpConfig) SetHttpProtocolOptions(v *v3.Http1ProtocolOptions)
- func (x *HttpProtocolOptions_ExplicitHttpConfig) String() string
- func (x *HttpProtocolOptions_ExplicitHttpConfig) WhichProtocolConfig() case_HttpProtocolOptions_ExplicitHttpConfig_ProtocolConfig
- type HttpProtocolOptions_ExplicitHttpConfig_
- type HttpProtocolOptions_ExplicitHttpConfig_Http2ProtocolOptions
- type HttpProtocolOptions_ExplicitHttpConfig_Http3ProtocolOptions
- type HttpProtocolOptions_ExplicitHttpConfig_HttpProtocolOptions
- type HttpProtocolOptions_ExplicitHttpConfig_builder
- type HttpProtocolOptions_OutlierDetection
- func (x *HttpProtocolOptions_OutlierDetection) ClearErrorMatcher()
- func (x *HttpProtocolOptions_OutlierDetection) GetErrorMatcher() *v33.MatchPredicate
- func (x *HttpProtocolOptions_OutlierDetection) HasErrorMatcher() bool
- func (*HttpProtocolOptions_OutlierDetection) ProtoMessage()
- func (x *HttpProtocolOptions_OutlierDetection) ProtoReflect() protoreflect.Message
- func (x *HttpProtocolOptions_OutlierDetection) Reset()
- func (x *HttpProtocolOptions_OutlierDetection) SetErrorMatcher(v *v33.MatchPredicate)
- func (x *HttpProtocolOptions_OutlierDetection) String() string
- type HttpProtocolOptions_OutlierDetection_builder
- type HttpProtocolOptions_UseDownstreamHttpConfig
- func (x *HttpProtocolOptions_UseDownstreamHttpConfig) ClearHttp2ProtocolOptions()
- func (x *HttpProtocolOptions_UseDownstreamHttpConfig) ClearHttp3ProtocolOptions()
- func (x *HttpProtocolOptions_UseDownstreamHttpConfig) ClearHttpProtocolOptions()
- func (x *HttpProtocolOptions_UseDownstreamHttpConfig) GetHttp2ProtocolOptions() *v3.Http2ProtocolOptions
- func (x *HttpProtocolOptions_UseDownstreamHttpConfig) GetHttp3ProtocolOptions() *v3.Http3ProtocolOptions
- func (x *HttpProtocolOptions_UseDownstreamHttpConfig) GetHttpProtocolOptions() *v3.Http1ProtocolOptions
- func (x *HttpProtocolOptions_UseDownstreamHttpConfig) HasHttp2ProtocolOptions() bool
- func (x *HttpProtocolOptions_UseDownstreamHttpConfig) HasHttp3ProtocolOptions() bool
- func (x *HttpProtocolOptions_UseDownstreamHttpConfig) HasHttpProtocolOptions() bool
- func (*HttpProtocolOptions_UseDownstreamHttpConfig) ProtoMessage()
- func (x *HttpProtocolOptions_UseDownstreamHttpConfig) ProtoReflect() protoreflect.Message
- func (x *HttpProtocolOptions_UseDownstreamHttpConfig) Reset()
- func (x *HttpProtocolOptions_UseDownstreamHttpConfig) SetHttp2ProtocolOptions(v *v3.Http2ProtocolOptions)
- func (x *HttpProtocolOptions_UseDownstreamHttpConfig) SetHttp3ProtocolOptions(v *v3.Http3ProtocolOptions)
- func (x *HttpProtocolOptions_UseDownstreamHttpConfig) SetHttpProtocolOptions(v *v3.Http1ProtocolOptions)
- func (x *HttpProtocolOptions_UseDownstreamHttpConfig) String() string
- type HttpProtocolOptions_UseDownstreamHttpConfig_builder
- type HttpProtocolOptions_UseDownstreamProtocolConfig
- type HttpProtocolOptions_builder
Constants ¶
const HttpProtocolOptions_AutoConfig_case case_HttpProtocolOptions_UpstreamProtocolOptions = 5
const HttpProtocolOptions_ExplicitHttpConfig_Http2ProtocolOptions_case case_HttpProtocolOptions_ExplicitHttpConfig_ProtocolConfig = 2
const HttpProtocolOptions_ExplicitHttpConfig_Http3ProtocolOptions_case case_HttpProtocolOptions_ExplicitHttpConfig_ProtocolConfig = 3
const HttpProtocolOptions_ExplicitHttpConfig_HttpProtocolOptions_case case_HttpProtocolOptions_ExplicitHttpConfig_ProtocolConfig = 1
const HttpProtocolOptions_ExplicitHttpConfig_ProtocolConfig_not_set_case case_HttpProtocolOptions_ExplicitHttpConfig_ProtocolConfig = 0
const HttpProtocolOptions_ExplicitHttpConfig_case case_HttpProtocolOptions_UpstreamProtocolOptions = 3
const HttpProtocolOptions_UpstreamProtocolOptions_not_set_case case_HttpProtocolOptions_UpstreamProtocolOptions = 0
const HttpProtocolOptions_UseDownstreamProtocolConfig_case case_HttpProtocolOptions_UpstreamProtocolOptions = 4
Variables ¶
var File_envoy_extensions_upstreams_http_v3_http_protocol_options_proto protoreflect.FileDescriptor
Functions ¶
This section is empty.
Types ¶
type HttpProtocolOptions ¶
type HttpProtocolOptions struct {
// This contains options common across HTTP/1 and HTTP/2
CommonHttpProtocolOptions *v3.HttpProtocolOptions `` /* 140-byte string literal not displayed */
// This contains common protocol options which are only applied upstream.
UpstreamHttpProtocolOptions *v3.UpstreamHttpProtocolOptions `` /* 146-byte string literal not displayed */
// This controls the actual protocol to be used upstream.
//
// Types that are valid to be assigned to UpstreamProtocolOptions:
//
// *HttpProtocolOptions_ExplicitHttpConfig_
// *HttpProtocolOptions_UseDownstreamProtocolConfig
// *HttpProtocolOptions_AutoConfig
UpstreamProtocolOptions isHttpProtocolOptions_UpstreamProtocolOptions `protobuf_oneof:"upstream_protocol_options"`
// Optional HTTP filters for the upstream HTTP filter chain.
//
// .. note::
//
// Upstream HTTP filters are currently in alpha.
//
// These filters will be applied for all HTTP streams which flow through this
// cluster. Unlike downstream HTTP filters, they will *not* be applied to terminated CONNECT requests.
//
// If using upstream HTTP filters, please be aware that local errors sent by
// upstream HTTP filters will not trigger retries, and local errors sent by
// upstream HTTP filters will count as a final response if hedging is configured.
// [#extension-category: envoy.filters.http.upstream]
HttpFilters []*v31.HttpFilter `protobuf:"bytes,6,rep,name=http_filters,json=httpFilters,proto3" json:"http_filters,omitempty"`
// Configuration options for Unified Header Validation (UHV).
// UHV is an extensible mechanism for checking validity of HTTP responses.
//
// [#comment:TODO(yanavlasov): Make it a link to the default header validator doc when it becomes visible.]
// Leaving this field unspecified, selects the default header validator “envoy.http.header_validators.envoy_default“.
//
// [#not-implemented-hide:]
// [#extension-category: envoy.http.header_validators]
HeaderValidationConfig *v3.TypedExtensionConfig `` /* 129-byte string literal not displayed */
// Defines http specific outlier detection parameters.
OutlierDetection *HttpProtocolOptions_OutlierDetection `protobuf:"bytes,8,opt,name=outlier_detection,json=outlierDetection,proto3" json:"outlier_detection,omitempty"`
// Specifies a list of HTTP-level mirroring policies for requests routed to this cluster.
// Cluster-level policies override route-level policies when they both are configured.
//
// .. note::
//
// Mirroring will not be triggered if the :ref:`primary cluster
// <envoy_v3_api_field_config.route.v3.RouteAction.cluster>` does not exist.
RequestMirrorPolicies []*v32.RouteAction_RequestMirrorPolicy `` /* 126-byte string literal not displayed */
// Specifies a list of hash policies for consistent hashing load balancing (e.g., Ring Hash or
// Maglev) for requests routed to this cluster. When configured, cluster-level policies override
// route-level policies. When not configured, route-level policies (if any) will be used.
//
// This enables consistent routing to the same upstream host for all requests to a cluster,
// which is particularly useful for stateful services like caching, session management, or
// sticky routing requirements.
//
// .. note::
//
// Hash policies are only effective when the cluster is configured with a hash-based load
// balancing policy (e.g., :ref:`RING_HASH <envoy_v3_api_enum_value_config.cluster.v3.Cluster.LbPolicy.RING_HASH>`
// or :ref:`MAGLEV <envoy_v3_api_enum_value_config.cluster.v3.Cluster.LbPolicy.MAGLEV>`).
HashPolicy []*v32.RouteAction_HashPolicy `protobuf:"bytes,10,rep,name=hash_policy,json=hashPolicy,proto3" json:"hash_policy,omitempty"`
// Specifies the retry policy for requests routed to this cluster. When configured,
// cluster-level retry policy overrides route-level retry policy. When not configured,
// route-level retry policy (if any) will be used.
//
// .. note::
//
// Cluster-level retry policy will override route-level retry policy entirely. Policies are
// not merged.
RetryPolicy *v32.RetryPolicy `protobuf:"bytes,11,opt,name=retry_policy,json=retryPolicy,proto3" json:"retry_policy,omitempty"`
// contains filtered or unexported fields
}
HttpProtocolOptions specifies Http upstream protocol options. This object is used in :ref:`typed_extension_protocol_options<envoy_v3_api_field_config.cluster.v3.Cluster.typed_extension_protocol_options>`, keyed by the name “envoy.extensions.upstreams.http.v3.HttpProtocolOptions“.
This controls what protocol(s) should be used for upstream and how said protocol(s) are configured.
This replaces the prior pattern of explicit protocol configuration directly in the cluster. So a configuration like this, explicitly configuring the use of HTTP/2 upstream:
.. code::
clusters:
- name: some_service
connect_timeout: 5s
upstream_http_protocol_options:
auto_sni: true
common_http_protocol_options:
idle_timeout: 1s
http2_protocol_options:
max_concurrent_streams: 100
.... [further cluster config]
Would now look like this:
.. code::
clusters:
- name: some_service
connect_timeout: 5s
typed_extension_protocol_options:
envoy.extensions.upstreams.http.v3.HttpProtocolOptions:
"@type": type.googleapis.com/envoy.extensions.upstreams.http.v3.HttpProtocolOptions
upstream_http_protocol_options:
auto_sni: true
common_http_protocol_options:
idle_timeout: 1s
explicit_http_config:
http2_protocol_options:
max_concurrent_streams: 100
.... [further cluster config]
[#next-free-field: 12]
func (*HttpProtocolOptions) ClearAutoConfig ¶
func (x *HttpProtocolOptions) ClearAutoConfig()
func (*HttpProtocolOptions) ClearCommonHttpProtocolOptions ¶
func (x *HttpProtocolOptions) ClearCommonHttpProtocolOptions()
func (*HttpProtocolOptions) ClearExplicitHttpConfig ¶
func (x *HttpProtocolOptions) ClearExplicitHttpConfig()
func (*HttpProtocolOptions) ClearHeaderValidationConfig ¶
func (x *HttpProtocolOptions) ClearHeaderValidationConfig()
func (*HttpProtocolOptions) ClearOutlierDetection ¶
func (x *HttpProtocolOptions) ClearOutlierDetection()
func (*HttpProtocolOptions) ClearRetryPolicy ¶
func (x *HttpProtocolOptions) ClearRetryPolicy()
func (*HttpProtocolOptions) ClearUpstreamHttpProtocolOptions ¶
func (x *HttpProtocolOptions) ClearUpstreamHttpProtocolOptions()
func (*HttpProtocolOptions) ClearUpstreamProtocolOptions ¶
func (x *HttpProtocolOptions) ClearUpstreamProtocolOptions()
func (*HttpProtocolOptions) ClearUseDownstreamProtocolConfig ¶
func (x *HttpProtocolOptions) ClearUseDownstreamProtocolConfig()
func (*HttpProtocolOptions) GetAutoConfig ¶
func (x *HttpProtocolOptions) GetAutoConfig() *HttpProtocolOptions_AutoHttpConfig
func (*HttpProtocolOptions) GetCommonHttpProtocolOptions ¶
func (x *HttpProtocolOptions) GetCommonHttpProtocolOptions() *v3.HttpProtocolOptions
func (*HttpProtocolOptions) GetExplicitHttpConfig ¶
func (x *HttpProtocolOptions) GetExplicitHttpConfig() *HttpProtocolOptions_ExplicitHttpConfig
func (*HttpProtocolOptions) GetHashPolicy ¶
func (x *HttpProtocolOptions) GetHashPolicy() []*v32.RouteAction_HashPolicy
func (*HttpProtocolOptions) GetHeaderValidationConfig ¶
func (x *HttpProtocolOptions) GetHeaderValidationConfig() *v3.TypedExtensionConfig
func (*HttpProtocolOptions) GetHttpFilters ¶
func (x *HttpProtocolOptions) GetHttpFilters() []*v31.HttpFilter
func (*HttpProtocolOptions) GetOutlierDetection ¶
func (x *HttpProtocolOptions) GetOutlierDetection() *HttpProtocolOptions_OutlierDetection
func (*HttpProtocolOptions) GetRequestMirrorPolicies ¶
func (x *HttpProtocolOptions) GetRequestMirrorPolicies() []*v32.RouteAction_RequestMirrorPolicy
func (*HttpProtocolOptions) GetRetryPolicy ¶
func (x *HttpProtocolOptions) GetRetryPolicy() *v32.RetryPolicy
func (*HttpProtocolOptions) GetUpstreamHttpProtocolOptions ¶
func (x *HttpProtocolOptions) GetUpstreamHttpProtocolOptions() *v3.UpstreamHttpProtocolOptions
func (*HttpProtocolOptions) GetUpstreamProtocolOptions ¶
func (x *HttpProtocolOptions) GetUpstreamProtocolOptions() isHttpProtocolOptions_UpstreamProtocolOptions
func (*HttpProtocolOptions) GetUseDownstreamProtocolConfig ¶
func (x *HttpProtocolOptions) GetUseDownstreamProtocolConfig() *HttpProtocolOptions_UseDownstreamHttpConfig
func (*HttpProtocolOptions) HasAutoConfig ¶
func (x *HttpProtocolOptions) HasAutoConfig() bool
func (*HttpProtocolOptions) HasCommonHttpProtocolOptions ¶
func (x *HttpProtocolOptions) HasCommonHttpProtocolOptions() bool
func (*HttpProtocolOptions) HasExplicitHttpConfig ¶
func (x *HttpProtocolOptions) HasExplicitHttpConfig() bool
func (*HttpProtocolOptions) HasHeaderValidationConfig ¶
func (x *HttpProtocolOptions) HasHeaderValidationConfig() bool
func (*HttpProtocolOptions) HasOutlierDetection ¶
func (x *HttpProtocolOptions) HasOutlierDetection() bool
func (*HttpProtocolOptions) HasRetryPolicy ¶
func (x *HttpProtocolOptions) HasRetryPolicy() bool
func (*HttpProtocolOptions) HasUpstreamHttpProtocolOptions ¶
func (x *HttpProtocolOptions) HasUpstreamHttpProtocolOptions() bool
func (*HttpProtocolOptions) HasUpstreamProtocolOptions ¶
func (x *HttpProtocolOptions) HasUpstreamProtocolOptions() bool
func (*HttpProtocolOptions) HasUseDownstreamProtocolConfig ¶
func (x *HttpProtocolOptions) HasUseDownstreamProtocolConfig() bool
func (*HttpProtocolOptions) ProtoMessage ¶
func (*HttpProtocolOptions) ProtoMessage()
func (*HttpProtocolOptions) ProtoReflect ¶
func (x *HttpProtocolOptions) ProtoReflect() protoreflect.Message
func (*HttpProtocolOptions) Reset ¶
func (x *HttpProtocolOptions) Reset()
func (*HttpProtocolOptions) SetAutoConfig ¶
func (x *HttpProtocolOptions) SetAutoConfig(v *HttpProtocolOptions_AutoHttpConfig)
func (*HttpProtocolOptions) SetCommonHttpProtocolOptions ¶
func (x *HttpProtocolOptions) SetCommonHttpProtocolOptions(v *v3.HttpProtocolOptions)
func (*HttpProtocolOptions) SetExplicitHttpConfig ¶
func (x *HttpProtocolOptions) SetExplicitHttpConfig(v *HttpProtocolOptions_ExplicitHttpConfig)
func (*HttpProtocolOptions) SetHashPolicy ¶
func (x *HttpProtocolOptions) SetHashPolicy(v []*v32.RouteAction_HashPolicy)
func (*HttpProtocolOptions) SetHeaderValidationConfig ¶
func (x *HttpProtocolOptions) SetHeaderValidationConfig(v *v3.TypedExtensionConfig)
func (*HttpProtocolOptions) SetHttpFilters ¶
func (x *HttpProtocolOptions) SetHttpFilters(v []*v31.HttpFilter)
func (*HttpProtocolOptions) SetOutlierDetection ¶
func (x *HttpProtocolOptions) SetOutlierDetection(v *HttpProtocolOptions_OutlierDetection)
func (*HttpProtocolOptions) SetRequestMirrorPolicies ¶
func (x *HttpProtocolOptions) SetRequestMirrorPolicies(v []*v32.RouteAction_RequestMirrorPolicy)
func (*HttpProtocolOptions) SetRetryPolicy ¶
func (x *HttpProtocolOptions) SetRetryPolicy(v *v32.RetryPolicy)
func (*HttpProtocolOptions) SetUpstreamHttpProtocolOptions ¶
func (x *HttpProtocolOptions) SetUpstreamHttpProtocolOptions(v *v3.UpstreamHttpProtocolOptions)
func (*HttpProtocolOptions) SetUseDownstreamProtocolConfig ¶
func (x *HttpProtocolOptions) SetUseDownstreamProtocolConfig(v *HttpProtocolOptions_UseDownstreamHttpConfig)
func (*HttpProtocolOptions) String ¶
func (x *HttpProtocolOptions) String() string
func (*HttpProtocolOptions) WhichUpstreamProtocolOptions ¶
func (x *HttpProtocolOptions) WhichUpstreamProtocolOptions() case_HttpProtocolOptions_UpstreamProtocolOptions
type HttpProtocolOptions_AutoConfig ¶
type HttpProtocolOptions_AutoConfig struct {
// This allows switching on protocol based on ALPN
AutoConfig *HttpProtocolOptions_AutoHttpConfig `protobuf:"bytes,5,opt,name=auto_config,json=autoConfig,proto3,oneof"`
}
type HttpProtocolOptions_AutoHttpConfig ¶
type HttpProtocolOptions_AutoHttpConfig struct {
HttpProtocolOptions *v3.Http1ProtocolOptions `protobuf:"bytes,1,opt,name=http_protocol_options,json=httpProtocolOptions,proto3" json:"http_protocol_options,omitempty"`
Http2ProtocolOptions *v3.Http2ProtocolOptions `protobuf:"bytes,2,opt,name=http2_protocol_options,json=http2ProtocolOptions,proto3" json:"http2_protocol_options,omitempty"`
// Unlike HTTP/1 and HTTP/2, HTTP/3 will not be configured unless it is
// present, and (soon) only if there is an indication of server side
// support.
// See :ref:`here <arch_overview_http3_upstream>` for more information on
// when HTTP/3 will be used, and when Envoy will fail over to TCP.
//
// .. warning::
//
// QUIC upstream support is currently not ready for internet use.
// Please see :ref:`here <arch_overview_http3>` for details.
Http3ProtocolOptions *v3.Http3ProtocolOptions `protobuf:"bytes,3,opt,name=http3_protocol_options,json=http3ProtocolOptions,proto3" json:"http3_protocol_options,omitempty"`
// The presence of alternate protocols cache options causes the use of the
// alternate protocols cache, which is responsible for parsing and caching
// HTTP Alt-Svc headers. This enables the use of HTTP/3 for origins that
// advertise supporting it.
//
// .. note::
//
// This is required when HTTP/3 is enabled.
AlternateProtocolsCacheOptions *v3.AlternateProtocolsCacheOptions `` /* 155-byte string literal not displayed */
// contains filtered or unexported fields
}
If this is used, the cluster can use either HTTP/1 or HTTP/2, and will use whichever protocol is negotiated by ALPN with the upstream. Clusters configured with “AutoHttpConfig“ will use the highest available protocol; HTTP/2 if supported, otherwise HTTP/1. If the upstream does not support ALPN, “AutoHttpConfig“ will fail over to HTTP/1. This can only be used with transport sockets which support ALPN. Using a transport socket which does not support ALPN will result in configuration failure. The transport layer may be configured with custom ALPN, but the default ALPN for the cluster (or if custom ALPN fails) will be "h2,http/1.1".
func (*HttpProtocolOptions_AutoHttpConfig) ClearAlternateProtocolsCacheOptions ¶
func (x *HttpProtocolOptions_AutoHttpConfig) ClearAlternateProtocolsCacheOptions()
func (*HttpProtocolOptions_AutoHttpConfig) ClearHttp2ProtocolOptions ¶
func (x *HttpProtocolOptions_AutoHttpConfig) ClearHttp2ProtocolOptions()
func (*HttpProtocolOptions_AutoHttpConfig) ClearHttp3ProtocolOptions ¶
func (x *HttpProtocolOptions_AutoHttpConfig) ClearHttp3ProtocolOptions()
func (*HttpProtocolOptions_AutoHttpConfig) ClearHttpProtocolOptions ¶
func (x *HttpProtocolOptions_AutoHttpConfig) ClearHttpProtocolOptions()
func (*HttpProtocolOptions_AutoHttpConfig) GetAlternateProtocolsCacheOptions ¶
func (x *HttpProtocolOptions_AutoHttpConfig) GetAlternateProtocolsCacheOptions() *v3.AlternateProtocolsCacheOptions
func (*HttpProtocolOptions_AutoHttpConfig) GetHttp2ProtocolOptions ¶
func (x *HttpProtocolOptions_AutoHttpConfig) GetHttp2ProtocolOptions() *v3.Http2ProtocolOptions
func (*HttpProtocolOptions_AutoHttpConfig) GetHttp3ProtocolOptions ¶
func (x *HttpProtocolOptions_AutoHttpConfig) GetHttp3ProtocolOptions() *v3.Http3ProtocolOptions
func (*HttpProtocolOptions_AutoHttpConfig) GetHttpProtocolOptions ¶
func (x *HttpProtocolOptions_AutoHttpConfig) GetHttpProtocolOptions() *v3.Http1ProtocolOptions
func (*HttpProtocolOptions_AutoHttpConfig) HasAlternateProtocolsCacheOptions ¶
func (x *HttpProtocolOptions_AutoHttpConfig) HasAlternateProtocolsCacheOptions() bool
func (*HttpProtocolOptions_AutoHttpConfig) HasHttp2ProtocolOptions ¶
func (x *HttpProtocolOptions_AutoHttpConfig) HasHttp2ProtocolOptions() bool
func (*HttpProtocolOptions_AutoHttpConfig) HasHttp3ProtocolOptions ¶
func (x *HttpProtocolOptions_AutoHttpConfig) HasHttp3ProtocolOptions() bool
func (*HttpProtocolOptions_AutoHttpConfig) HasHttpProtocolOptions ¶
func (x *HttpProtocolOptions_AutoHttpConfig) HasHttpProtocolOptions() bool
func (*HttpProtocolOptions_AutoHttpConfig) ProtoMessage ¶
func (*HttpProtocolOptions_AutoHttpConfig) ProtoMessage()
func (*HttpProtocolOptions_AutoHttpConfig) ProtoReflect ¶
func (x *HttpProtocolOptions_AutoHttpConfig) ProtoReflect() protoreflect.Message
func (*HttpProtocolOptions_AutoHttpConfig) Reset ¶
func (x *HttpProtocolOptions_AutoHttpConfig) Reset()
func (*HttpProtocolOptions_AutoHttpConfig) SetAlternateProtocolsCacheOptions ¶
func (x *HttpProtocolOptions_AutoHttpConfig) SetAlternateProtocolsCacheOptions(v *v3.AlternateProtocolsCacheOptions)
func (*HttpProtocolOptions_AutoHttpConfig) SetHttp2ProtocolOptions ¶
func (x *HttpProtocolOptions_AutoHttpConfig) SetHttp2ProtocolOptions(v *v3.Http2ProtocolOptions)
func (*HttpProtocolOptions_AutoHttpConfig) SetHttp3ProtocolOptions ¶
func (x *HttpProtocolOptions_AutoHttpConfig) SetHttp3ProtocolOptions(v *v3.Http3ProtocolOptions)
func (*HttpProtocolOptions_AutoHttpConfig) SetHttpProtocolOptions ¶
func (x *HttpProtocolOptions_AutoHttpConfig) SetHttpProtocolOptions(v *v3.Http1ProtocolOptions)
func (*HttpProtocolOptions_AutoHttpConfig) String ¶
func (x *HttpProtocolOptions_AutoHttpConfig) String() string
type HttpProtocolOptions_AutoHttpConfig_builder ¶
type HttpProtocolOptions_AutoHttpConfig_builder struct {
HttpProtocolOptions *v3.Http1ProtocolOptions
Http2ProtocolOptions *v3.Http2ProtocolOptions
// Unlike HTTP/1 and HTTP/2, HTTP/3 will not be configured unless it is
// present, and (soon) only if there is an indication of server side
// support.
// See :ref:`here <arch_overview_http3_upstream>` for more information on
// when HTTP/3 will be used, and when Envoy will fail over to TCP.
//
// .. warning::
//
// QUIC upstream support is currently not ready for internet use.
// Please see :ref:`here <arch_overview_http3>` for details.
Http3ProtocolOptions *v3.Http3ProtocolOptions
// The presence of alternate protocols cache options causes the use of the
// alternate protocols cache, which is responsible for parsing and caching
// HTTP Alt-Svc headers. This enables the use of HTTP/3 for origins that
// advertise supporting it.
//
// .. note::
//
// This is required when HTTP/3 is enabled.
AlternateProtocolsCacheOptions *v3.AlternateProtocolsCacheOptions
// contains filtered or unexported fields
}
func (HttpProtocolOptions_AutoHttpConfig_builder) Build ¶
func (b0 HttpProtocolOptions_AutoHttpConfig_builder) Build() *HttpProtocolOptions_AutoHttpConfig
type HttpProtocolOptions_ExplicitHttpConfig ¶
type HttpProtocolOptions_ExplicitHttpConfig struct {
// Types that are valid to be assigned to ProtocolConfig:
//
// *HttpProtocolOptions_ExplicitHttpConfig_HttpProtocolOptions
// *HttpProtocolOptions_ExplicitHttpConfig_Http2ProtocolOptions
// *HttpProtocolOptions_ExplicitHttpConfig_Http3ProtocolOptions
ProtocolConfig isHttpProtocolOptions_ExplicitHttpConfig_ProtocolConfig `protobuf_oneof:"protocol_config"`
// contains filtered or unexported fields
}
If this is used, the cluster will only operate on one of the possible upstream protocols. Note that HTTP/2 or above should generally be used for upstream gRPC clusters.
func (*HttpProtocolOptions_ExplicitHttpConfig) ClearHttp2ProtocolOptions ¶
func (x *HttpProtocolOptions_ExplicitHttpConfig) ClearHttp2ProtocolOptions()
func (*HttpProtocolOptions_ExplicitHttpConfig) ClearHttp3ProtocolOptions ¶
func (x *HttpProtocolOptions_ExplicitHttpConfig) ClearHttp3ProtocolOptions()
func (*HttpProtocolOptions_ExplicitHttpConfig) ClearHttpProtocolOptions ¶
func (x *HttpProtocolOptions_ExplicitHttpConfig) ClearHttpProtocolOptions()
func (*HttpProtocolOptions_ExplicitHttpConfig) ClearProtocolConfig ¶
func (x *HttpProtocolOptions_ExplicitHttpConfig) ClearProtocolConfig()
func (*HttpProtocolOptions_ExplicitHttpConfig) GetHttp2ProtocolOptions ¶
func (x *HttpProtocolOptions_ExplicitHttpConfig) GetHttp2ProtocolOptions() *v3.Http2ProtocolOptions
func (*HttpProtocolOptions_ExplicitHttpConfig) GetHttp3ProtocolOptions ¶
func (x *HttpProtocolOptions_ExplicitHttpConfig) GetHttp3ProtocolOptions() *v3.Http3ProtocolOptions
func (*HttpProtocolOptions_ExplicitHttpConfig) GetHttpProtocolOptions ¶
func (x *HttpProtocolOptions_ExplicitHttpConfig) GetHttpProtocolOptions() *v3.Http1ProtocolOptions
func (*HttpProtocolOptions_ExplicitHttpConfig) GetProtocolConfig ¶
func (x *HttpProtocolOptions_ExplicitHttpConfig) GetProtocolConfig() isHttpProtocolOptions_ExplicitHttpConfig_ProtocolConfig
func (*HttpProtocolOptions_ExplicitHttpConfig) HasHttp2ProtocolOptions ¶
func (x *HttpProtocolOptions_ExplicitHttpConfig) HasHttp2ProtocolOptions() bool
func (*HttpProtocolOptions_ExplicitHttpConfig) HasHttp3ProtocolOptions ¶
func (x *HttpProtocolOptions_ExplicitHttpConfig) HasHttp3ProtocolOptions() bool
func (*HttpProtocolOptions_ExplicitHttpConfig) HasHttpProtocolOptions ¶
func (x *HttpProtocolOptions_ExplicitHttpConfig) HasHttpProtocolOptions() bool
func (*HttpProtocolOptions_ExplicitHttpConfig) HasProtocolConfig ¶
func (x *HttpProtocolOptions_ExplicitHttpConfig) HasProtocolConfig() bool
func (*HttpProtocolOptions_ExplicitHttpConfig) ProtoMessage ¶
func (*HttpProtocolOptions_ExplicitHttpConfig) ProtoMessage()
func (*HttpProtocolOptions_ExplicitHttpConfig) ProtoReflect ¶
func (x *HttpProtocolOptions_ExplicitHttpConfig) ProtoReflect() protoreflect.Message
func (*HttpProtocolOptions_ExplicitHttpConfig) Reset ¶
func (x *HttpProtocolOptions_ExplicitHttpConfig) Reset()
func (*HttpProtocolOptions_ExplicitHttpConfig) SetHttp2ProtocolOptions ¶
func (x *HttpProtocolOptions_ExplicitHttpConfig) SetHttp2ProtocolOptions(v *v3.Http2ProtocolOptions)
func (*HttpProtocolOptions_ExplicitHttpConfig) SetHttp3ProtocolOptions ¶
func (x *HttpProtocolOptions_ExplicitHttpConfig) SetHttp3ProtocolOptions(v *v3.Http3ProtocolOptions)
func (*HttpProtocolOptions_ExplicitHttpConfig) SetHttpProtocolOptions ¶
func (x *HttpProtocolOptions_ExplicitHttpConfig) SetHttpProtocolOptions(v *v3.Http1ProtocolOptions)
func (*HttpProtocolOptions_ExplicitHttpConfig) String ¶
func (x *HttpProtocolOptions_ExplicitHttpConfig) String() string
func (*HttpProtocolOptions_ExplicitHttpConfig) WhichProtocolConfig ¶
func (x *HttpProtocolOptions_ExplicitHttpConfig) WhichProtocolConfig() case_HttpProtocolOptions_ExplicitHttpConfig_ProtocolConfig
type HttpProtocolOptions_ExplicitHttpConfig_ ¶
type HttpProtocolOptions_ExplicitHttpConfig_ struct {
// To explicitly configure either HTTP/1 or HTTP/2 (but not both!) use “explicit_http_config“.
ExplicitHttpConfig *HttpProtocolOptions_ExplicitHttpConfig `protobuf:"bytes,3,opt,name=explicit_http_config,json=explicitHttpConfig,proto3,oneof"`
}
type HttpProtocolOptions_ExplicitHttpConfig_Http2ProtocolOptions ¶
type HttpProtocolOptions_ExplicitHttpConfig_Http2ProtocolOptions struct {
Http2ProtocolOptions *v3.Http2ProtocolOptions `protobuf:"bytes,2,opt,name=http2_protocol_options,json=http2ProtocolOptions,proto3,oneof"`
}
type HttpProtocolOptions_ExplicitHttpConfig_Http3ProtocolOptions ¶
type HttpProtocolOptions_ExplicitHttpConfig_Http3ProtocolOptions struct {
// .. warning::
//
// QUIC upstream support is currently not ready for internet use.
// Please see :ref:`here <arch_overview_http3>` for details.
Http3ProtocolOptions *v3.Http3ProtocolOptions `protobuf:"bytes,3,opt,name=http3_protocol_options,json=http3ProtocolOptions,proto3,oneof"`
}
type HttpProtocolOptions_ExplicitHttpConfig_HttpProtocolOptions ¶
type HttpProtocolOptions_ExplicitHttpConfig_HttpProtocolOptions struct {
HttpProtocolOptions *v3.Http1ProtocolOptions `protobuf:"bytes,1,opt,name=http_protocol_options,json=httpProtocolOptions,proto3,oneof"`
}
type HttpProtocolOptions_ExplicitHttpConfig_builder ¶
type HttpProtocolOptions_ExplicitHttpConfig_builder struct {
// Fields of oneof ProtocolConfig:
HttpProtocolOptions *v3.Http1ProtocolOptions
Http2ProtocolOptions *v3.Http2ProtocolOptions
// .. warning::
//
// QUIC upstream support is currently not ready for internet use.
// Please see :ref:`here <arch_overview_http3>` for details.
Http3ProtocolOptions *v3.Http3ProtocolOptions
// contains filtered or unexported fields
}
func (HttpProtocolOptions_ExplicitHttpConfig_builder) Build ¶
type HttpProtocolOptions_OutlierDetection ¶
type HttpProtocolOptions_OutlierDetection struct {
// If specified, only responses matching the matcher will be treated by outlier detection as errors.
// If not specified, only 5xx codes are treated by outlier detection as errors.
ErrorMatcher *v33.MatchPredicate `protobuf:"bytes,1,opt,name=error_matcher,json=errorMatcher,proto3" json:"error_matcher,omitempty"`
// contains filtered or unexported fields
}
func (*HttpProtocolOptions_OutlierDetection) ClearErrorMatcher ¶
func (x *HttpProtocolOptions_OutlierDetection) ClearErrorMatcher()
func (*HttpProtocolOptions_OutlierDetection) GetErrorMatcher ¶
func (x *HttpProtocolOptions_OutlierDetection) GetErrorMatcher() *v33.MatchPredicate
func (*HttpProtocolOptions_OutlierDetection) HasErrorMatcher ¶
func (x *HttpProtocolOptions_OutlierDetection) HasErrorMatcher() bool
func (*HttpProtocolOptions_OutlierDetection) ProtoMessage ¶
func (*HttpProtocolOptions_OutlierDetection) ProtoMessage()
func (*HttpProtocolOptions_OutlierDetection) ProtoReflect ¶
func (x *HttpProtocolOptions_OutlierDetection) ProtoReflect() protoreflect.Message
func (*HttpProtocolOptions_OutlierDetection) Reset ¶
func (x *HttpProtocolOptions_OutlierDetection) Reset()
func (*HttpProtocolOptions_OutlierDetection) SetErrorMatcher ¶
func (x *HttpProtocolOptions_OutlierDetection) SetErrorMatcher(v *v33.MatchPredicate)
func (*HttpProtocolOptions_OutlierDetection) String ¶
func (x *HttpProtocolOptions_OutlierDetection) String() string
type HttpProtocolOptions_OutlierDetection_builder ¶
type HttpProtocolOptions_OutlierDetection_builder struct {
// If specified, only responses matching the matcher will be treated by outlier detection as errors.
// If not specified, only 5xx codes are treated by outlier detection as errors.
ErrorMatcher *v33.MatchPredicate
// contains filtered or unexported fields
}
func (HttpProtocolOptions_OutlierDetection_builder) Build ¶
func (b0 HttpProtocolOptions_OutlierDetection_builder) Build() *HttpProtocolOptions_OutlierDetection
type HttpProtocolOptions_UseDownstreamHttpConfig ¶
type HttpProtocolOptions_UseDownstreamHttpConfig struct {
HttpProtocolOptions *v3.Http1ProtocolOptions `protobuf:"bytes,1,opt,name=http_protocol_options,json=httpProtocolOptions,proto3" json:"http_protocol_options,omitempty"`
Http2ProtocolOptions *v3.Http2ProtocolOptions `protobuf:"bytes,2,opt,name=http2_protocol_options,json=http2ProtocolOptions,proto3" json:"http2_protocol_options,omitempty"`
// .. warning::
//
// QUIC upstream support is currently not ready for internet use.
// Please see :ref:`here <arch_overview_http3>` for details.
Http3ProtocolOptions *v3.Http3ProtocolOptions `protobuf:"bytes,3,opt,name=http3_protocol_options,json=http3ProtocolOptions,proto3" json:"http3_protocol_options,omitempty"`
// contains filtered or unexported fields
}
If this is used, the cluster can use either of the configured protocols, and will use whichever protocol was used by the downstream connection.
If HTTP/3 is configured for downstream and not configured for upstream, HTTP/3 requests will fail over to HTTP/2.
func (*HttpProtocolOptions_UseDownstreamHttpConfig) ClearHttp2ProtocolOptions ¶
func (x *HttpProtocolOptions_UseDownstreamHttpConfig) ClearHttp2ProtocolOptions()
func (*HttpProtocolOptions_UseDownstreamHttpConfig) ClearHttp3ProtocolOptions ¶
func (x *HttpProtocolOptions_UseDownstreamHttpConfig) ClearHttp3ProtocolOptions()
func (*HttpProtocolOptions_UseDownstreamHttpConfig) ClearHttpProtocolOptions ¶
func (x *HttpProtocolOptions_UseDownstreamHttpConfig) ClearHttpProtocolOptions()
func (*HttpProtocolOptions_UseDownstreamHttpConfig) GetHttp2ProtocolOptions ¶
func (x *HttpProtocolOptions_UseDownstreamHttpConfig) GetHttp2ProtocolOptions() *v3.Http2ProtocolOptions
func (*HttpProtocolOptions_UseDownstreamHttpConfig) GetHttp3ProtocolOptions ¶
func (x *HttpProtocolOptions_UseDownstreamHttpConfig) GetHttp3ProtocolOptions() *v3.Http3ProtocolOptions
func (*HttpProtocolOptions_UseDownstreamHttpConfig) GetHttpProtocolOptions ¶
func (x *HttpProtocolOptions_UseDownstreamHttpConfig) GetHttpProtocolOptions() *v3.Http1ProtocolOptions
func (*HttpProtocolOptions_UseDownstreamHttpConfig) HasHttp2ProtocolOptions ¶
func (x *HttpProtocolOptions_UseDownstreamHttpConfig) HasHttp2ProtocolOptions() bool
func (*HttpProtocolOptions_UseDownstreamHttpConfig) HasHttp3ProtocolOptions ¶
func (x *HttpProtocolOptions_UseDownstreamHttpConfig) HasHttp3ProtocolOptions() bool
func (*HttpProtocolOptions_UseDownstreamHttpConfig) HasHttpProtocolOptions ¶
func (x *HttpProtocolOptions_UseDownstreamHttpConfig) HasHttpProtocolOptions() bool
func (*HttpProtocolOptions_UseDownstreamHttpConfig) ProtoMessage ¶
func (*HttpProtocolOptions_UseDownstreamHttpConfig) ProtoMessage()
func (*HttpProtocolOptions_UseDownstreamHttpConfig) ProtoReflect ¶
func (x *HttpProtocolOptions_UseDownstreamHttpConfig) ProtoReflect() protoreflect.Message
func (*HttpProtocolOptions_UseDownstreamHttpConfig) Reset ¶
func (x *HttpProtocolOptions_UseDownstreamHttpConfig) Reset()
func (*HttpProtocolOptions_UseDownstreamHttpConfig) SetHttp2ProtocolOptions ¶
func (x *HttpProtocolOptions_UseDownstreamHttpConfig) SetHttp2ProtocolOptions(v *v3.Http2ProtocolOptions)
func (*HttpProtocolOptions_UseDownstreamHttpConfig) SetHttp3ProtocolOptions ¶
func (x *HttpProtocolOptions_UseDownstreamHttpConfig) SetHttp3ProtocolOptions(v *v3.Http3ProtocolOptions)
func (*HttpProtocolOptions_UseDownstreamHttpConfig) SetHttpProtocolOptions ¶
func (x *HttpProtocolOptions_UseDownstreamHttpConfig) SetHttpProtocolOptions(v *v3.Http1ProtocolOptions)
func (*HttpProtocolOptions_UseDownstreamHttpConfig) String ¶
func (x *HttpProtocolOptions_UseDownstreamHttpConfig) String() string
type HttpProtocolOptions_UseDownstreamHttpConfig_builder ¶
type HttpProtocolOptions_UseDownstreamHttpConfig_builder struct {
HttpProtocolOptions *v3.Http1ProtocolOptions
Http2ProtocolOptions *v3.Http2ProtocolOptions
// .. warning::
//
// QUIC upstream support is currently not ready for internet use.
// Please see :ref:`here <arch_overview_http3>` for details.
Http3ProtocolOptions *v3.Http3ProtocolOptions
// contains filtered or unexported fields
}
func (HttpProtocolOptions_UseDownstreamHttpConfig_builder) Build ¶
type HttpProtocolOptions_UseDownstreamProtocolConfig ¶
type HttpProtocolOptions_UseDownstreamProtocolConfig struct {
// This allows switching on protocol based on what protocol the downstream
// connection used.
UseDownstreamProtocolConfig *HttpProtocolOptions_UseDownstreamHttpConfig `protobuf:"bytes,4,opt,name=use_downstream_protocol_config,json=useDownstreamProtocolConfig,proto3,oneof"`
}
type HttpProtocolOptions_builder ¶
type HttpProtocolOptions_builder struct {
// This contains options common across HTTP/1 and HTTP/2
CommonHttpProtocolOptions *v3.HttpProtocolOptions
// This contains common protocol options which are only applied upstream.
UpstreamHttpProtocolOptions *v3.UpstreamHttpProtocolOptions
// Fields of oneof UpstreamProtocolOptions:
// To explicitly configure either HTTP/1 or HTTP/2 (but not both!) use “explicit_http_config“.
ExplicitHttpConfig *HttpProtocolOptions_ExplicitHttpConfig
// This allows switching on protocol based on what protocol the downstream
// connection used.
UseDownstreamProtocolConfig *HttpProtocolOptions_UseDownstreamHttpConfig
// This allows switching on protocol based on ALPN
AutoConfig *HttpProtocolOptions_AutoHttpConfig
// -- end of UpstreamProtocolOptions
// Optional HTTP filters for the upstream HTTP filter chain.
//
// .. note::
//
// Upstream HTTP filters are currently in alpha.
//
// These filters will be applied for all HTTP streams which flow through this
// cluster. Unlike downstream HTTP filters, they will *not* be applied to terminated CONNECT requests.
//
// If using upstream HTTP filters, please be aware that local errors sent by
// upstream HTTP filters will not trigger retries, and local errors sent by
// upstream HTTP filters will count as a final response if hedging is configured.
// [#extension-category: envoy.filters.http.upstream]
HttpFilters []*v31.HttpFilter
// Configuration options for Unified Header Validation (UHV).
// UHV is an extensible mechanism for checking validity of HTTP responses.
//
// [#comment:TODO(yanavlasov): Make it a link to the default header validator doc when it becomes visible.]
// Leaving this field unspecified, selects the default header validator “envoy.http.header_validators.envoy_default“.
//
// [#not-implemented-hide:]
// [#extension-category: envoy.http.header_validators]
HeaderValidationConfig *v3.TypedExtensionConfig
// Defines http specific outlier detection parameters.
OutlierDetection *HttpProtocolOptions_OutlierDetection
// Specifies a list of HTTP-level mirroring policies for requests routed to this cluster.
// Cluster-level policies override route-level policies when they both are configured.
//
// .. note::
//
// Mirroring will not be triggered if the :ref:`primary cluster
// <envoy_v3_api_field_config.route.v3.RouteAction.cluster>` does not exist.
RequestMirrorPolicies []*v32.RouteAction_RequestMirrorPolicy
// Specifies a list of hash policies for consistent hashing load balancing (e.g., Ring Hash or
// Maglev) for requests routed to this cluster. When configured, cluster-level policies override
// route-level policies. When not configured, route-level policies (if any) will be used.
//
// This enables consistent routing to the same upstream host for all requests to a cluster,
// which is particularly useful for stateful services like caching, session management, or
// sticky routing requirements.
//
// .. note::
//
// Hash policies are only effective when the cluster is configured with a hash-based load
// balancing policy (e.g., :ref:`RING_HASH <envoy_v3_api_enum_value_config.cluster.v3.Cluster.LbPolicy.RING_HASH>`
// or :ref:`MAGLEV <envoy_v3_api_enum_value_config.cluster.v3.Cluster.LbPolicy.MAGLEV>`).
HashPolicy []*v32.RouteAction_HashPolicy
// Specifies the retry policy for requests routed to this cluster. When configured,
// cluster-level retry policy overrides route-level retry policy. When not configured,
// route-level retry policy (if any) will be used.
//
// .. note::
//
// Cluster-level retry policy will override route-level retry policy entirely. Policies are
// not merged.
RetryPolicy *v32.RetryPolicy
// contains filtered or unexported fields
}
func (HttpProtocolOptions_builder) Build ¶
func (b0 HttpProtocolOptions_builder) Build() *HttpProtocolOptions
Source Files
¶
- http_protocol_options.pb.go