Documentation ¶
Index ¶
- Variables
- type Http1ProtocolOptions
- func (m *Http1ProtocolOptions) Clone() proto.Message
- func (*Http1ProtocolOptions) Descriptor() ([]byte, []int)deprecated
- func (m *Http1ProtocolOptions) Equal(that interface{}) bool
- func (x *Http1ProtocolOptions) GetEnableTrailers() bool
- func (m *Http1ProtocolOptions) GetHeaderFormat() isHttp1ProtocolOptions_HeaderFormat
- func (x *Http1ProtocolOptions) GetOverrideStreamErrorOnInvalidHttpMessage() *wrappers.BoolValue
- func (x *Http1ProtocolOptions) GetPreserveCaseHeaderKeyFormat() bool
- func (x *Http1ProtocolOptions) GetProperCaseHeaderKeyFormat() bool
- func (m *Http1ProtocolOptions) Hash(hasher hash.Hash64) (uint64, error)
- func (*Http1ProtocolOptions) ProtoMessage()
- func (x *Http1ProtocolOptions) ProtoReflect() protoreflect.Message
- func (x *Http1ProtocolOptions) Reset()
- func (x *Http1ProtocolOptions) String() string
- type Http1ProtocolOptions_PreserveCaseHeaderKeyFormat
- type Http1ProtocolOptions_ProperCaseHeaderKeyFormat
- type Http2ProtocolOptions
- func (m *Http2ProtocolOptions) Clone() proto.Message
- func (*Http2ProtocolOptions) Descriptor() ([]byte, []int)deprecated
- func (m *Http2ProtocolOptions) Equal(that interface{}) bool
- func (x *Http2ProtocolOptions) GetInitialConnectionWindowSize() *wrappers.UInt32Value
- func (x *Http2ProtocolOptions) GetInitialStreamWindowSize() *wrappers.UInt32Value
- func (x *Http2ProtocolOptions) GetMaxConcurrentStreams() *wrappers.UInt32Value
- func (x *Http2ProtocolOptions) GetOverrideStreamErrorOnInvalidHttpMessage() *wrappers.BoolValue
- func (m *Http2ProtocolOptions) Hash(hasher hash.Hash64) (uint64, error)
- func (*Http2ProtocolOptions) ProtoMessage()
- func (x *Http2ProtocolOptions) ProtoReflect() protoreflect.Message
- func (x *Http2ProtocolOptions) Reset()
- func (x *Http2ProtocolOptions) String() string
- type HttpProtocolOptions
- func (m *HttpProtocolOptions) Clone() proto.Message
- func (*HttpProtocolOptions) Descriptor() ([]byte, []int)deprecated
- func (m *HttpProtocolOptions) Equal(that interface{}) bool
- func (x *HttpProtocolOptions) GetHeadersWithUnderscoresAction() HttpProtocolOptions_HeadersWithUnderscoresAction
- func (x *HttpProtocolOptions) GetIdleTimeout() *duration.Duration
- func (x *HttpProtocolOptions) GetMaxHeadersCount() uint32
- func (x *HttpProtocolOptions) GetMaxStreamDuration() *duration.Duration
- func (m *HttpProtocolOptions) Hash(hasher hash.Hash64) (uint64, error)
- func (*HttpProtocolOptions) ProtoMessage()
- func (x *HttpProtocolOptions) ProtoReflect() protoreflect.Message
- func (x *HttpProtocolOptions) Reset()
- func (x *HttpProtocolOptions) String() string
- type HttpProtocolOptions_HeadersWithUnderscoresAction
- func (HttpProtocolOptions_HeadersWithUnderscoresAction) Descriptor() protoreflect.EnumDescriptor
- func (x HttpProtocolOptions_HeadersWithUnderscoresAction) Enum() *HttpProtocolOptions_HeadersWithUnderscoresAction
- func (HttpProtocolOptions_HeadersWithUnderscoresAction) EnumDescriptor() ([]byte, []int)deprecated
- func (x HttpProtocolOptions_HeadersWithUnderscoresAction) Number() protoreflect.EnumNumber
- func (x HttpProtocolOptions_HeadersWithUnderscoresAction) String() string
- func (HttpProtocolOptions_HeadersWithUnderscoresAction) Type() protoreflect.EnumType
Constants ¶
This section is empty.
Variables ¶
var ( HttpProtocolOptions_HeadersWithUnderscoresAction_name = map[int32]string{ 0: "ALLOW", 1: "REJECT_REQUEST", 2: "DROP_HEADER", } HttpProtocolOptions_HeadersWithUnderscoresAction_value = map[string]int32{ "ALLOW": 0, "REJECT_REQUEST": 1, "DROP_HEADER": 2, } )
Enum value maps for HttpProtocolOptions_HeadersWithUnderscoresAction.
var File_github_com_solo_io_gloo_projects_gloo_api_v1_options_protocol_protocol_proto protoreflect.FileDescriptor
Functions ¶
This section is empty.
Types ¶
type Http1ProtocolOptions ¶
type Http1ProtocolOptions struct { // Enables trailers for HTTP/1. By default the HTTP/1 codec drops proxied trailers. // Note: Trailers must also be enabled at the gateway level in order for this option to take effect. EnableTrailers bool `protobuf:"varint,1,opt,name=enable_trailers,json=enableTrailers,proto3" json:"enable_trailers,omitempty"` // Types that are assignable to HeaderFormat: // // *Http1ProtocolOptions_ProperCaseHeaderKeyFormat // *Http1ProtocolOptions_PreserveCaseHeaderKeyFormat HeaderFormat isHttp1ProtocolOptions_HeaderFormat `protobuf_oneof:"header_format"` // Allows invalid HTTP messaging. When this option is false, then Envoy will terminate // HTTP/1.1 connections upon receiving an invalid HTTP message. However, // when this option is true, then Envoy will leave the HTTP/1.1 connection // open where possible. // If set, this overrides any HCM :ref:`stream_error_on_invalid_http_messaging // <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.stream_error_on_invalid_http_message>`. OverrideStreamErrorOnInvalidHttpMessage *wrappers.BoolValue `` /* 188-byte string literal not displayed */ // contains filtered or unexported fields }
func (*Http1ProtocolOptions) Clone ¶
func (m *Http1ProtocolOptions) Clone() proto.Message
Clone function
func (*Http1ProtocolOptions) Descriptor
deprecated
func (*Http1ProtocolOptions) Descriptor() ([]byte, []int)
Deprecated: Use Http1ProtocolOptions.ProtoReflect.Descriptor instead.
func (*Http1ProtocolOptions) Equal ¶
func (m *Http1ProtocolOptions) Equal(that interface{}) bool
Equal function
func (*Http1ProtocolOptions) GetEnableTrailers ¶
func (x *Http1ProtocolOptions) GetEnableTrailers() bool
func (*Http1ProtocolOptions) GetHeaderFormat ¶
func (m *Http1ProtocolOptions) GetHeaderFormat() isHttp1ProtocolOptions_HeaderFormat
func (*Http1ProtocolOptions) GetOverrideStreamErrorOnInvalidHttpMessage ¶
func (x *Http1ProtocolOptions) GetOverrideStreamErrorOnInvalidHttpMessage() *wrappers.BoolValue
func (*Http1ProtocolOptions) GetPreserveCaseHeaderKeyFormat ¶
func (x *Http1ProtocolOptions) GetPreserveCaseHeaderKeyFormat() bool
func (*Http1ProtocolOptions) GetProperCaseHeaderKeyFormat ¶
func (x *Http1ProtocolOptions) GetProperCaseHeaderKeyFormat() bool
func (*Http1ProtocolOptions) Hash ¶
func (m *Http1ProtocolOptions) Hash(hasher hash.Hash64) (uint64, error)
Hash function
func (*Http1ProtocolOptions) ProtoMessage ¶
func (*Http1ProtocolOptions) ProtoMessage()
func (*Http1ProtocolOptions) ProtoReflect ¶
func (x *Http1ProtocolOptions) ProtoReflect() protoreflect.Message
func (*Http1ProtocolOptions) Reset ¶
func (x *Http1ProtocolOptions) Reset()
func (*Http1ProtocolOptions) String ¶
func (x *Http1ProtocolOptions) String() string
type Http1ProtocolOptions_PreserveCaseHeaderKeyFormat ¶
type Http1ProtocolOptions_PreserveCaseHeaderKeyFormat struct { // Generates configuration for a stateful formatter extension that allows using received headers to // affect the output of encoding headers. Specifically: preserving RESPONSE HEADER case during proxying. PreserveCaseHeaderKeyFormat bool `protobuf:"varint,31,opt,name=preserve_case_header_key_format,json=preserveCaseHeaderKeyFormat,proto3,oneof"` }
type Http1ProtocolOptions_ProperCaseHeaderKeyFormat ¶
type Http1ProtocolOptions_ProperCaseHeaderKeyFormat struct { // Formats the RESPONSE HEADER by proper casing words: the first character and any character following // a special character will be capitalized if it's an alpha character. For example, // "content-type" becomes "Content-Type", and "foo$b#$are" becomes "Foo$B#$Are". // Note that while this results in most headers following conventional casing, certain headers // are not covered. For example, the "TE" header will be formatted as "Te". ProperCaseHeaderKeyFormat bool `protobuf:"varint,22,opt,name=proper_case_header_key_format,json=properCaseHeaderKeyFormat,proto3,oneof"` }
type Http2ProtocolOptions ¶
type Http2ProtocolOptions struct { // [Maximum concurrent streams](https://httpwg.org/specs/rfc7540.html#rfc.section.5.1.2) // allowed for peer on one HTTP/2 connection. Valid values range from 1 to 2147483647 (2^31 - 1) // and defaults to 2147483647. // // For upstream connections, this also limits how many streams Envoy will initiate concurrently // on a single connection. If the limit is reached, Envoy may queue requests or establish // additional connections (as allowed per circuit breaker limits). // // This acts as an upper bound: Envoy will lower the max concurrent streams allowed on a given // connection based on upstream settings. Config dumps will reflect the configured upper bound, // not the per-connection negotiated limits. MaxConcurrentStreams *wrappers.UInt32Value `protobuf:"bytes,2,opt,name=max_concurrent_streams,json=maxConcurrentStreams,proto3" json:"max_concurrent_streams,omitempty"` // [Initial stream-level flow-control window](https://httpwg.org/specs/rfc7540.html#rfc.section.6.9.2) size. Valid values range from 65535 // (2^16 - 1, HTTP/2 default) to 2147483647 (2^31 - 1, HTTP/2 maximum) and defaults to 268435456 // (256 * 1024 * 1024). // // NOTE: 65535 is the initial window size from HTTP/2 spec. We only support increasing the default // window size now, so it's also the minimum. // // This field also acts as a soft limit on the number of bytes Envoy will buffer per-stream in the // HTTP/2 codec buffers. Once the buffer reaches this pointer, watermark callbacks will fire to // stop the flow of data to the codec buffers. InitialStreamWindowSize *wrappers.UInt32Value `` /* 134-byte string literal not displayed */ // Similar to *initial_stream_window_size*, but for connection-level flow-control // window. Currently, this has the same minimum/maximum/default as *initial_stream_window_size*. InitialConnectionWindowSize *wrappers.UInt32Value `` /* 146-byte string literal not displayed */ // Allows invalid HTTP messaging and headers. When this option is disabled (default), then // the whole HTTP/2 connection is terminated upon receiving invalid HEADERS frame. However, // when this option is enabled, only the offending stream is terminated. // // This overrides any HCM :ref:`stream_error_on_invalid_http_messaging // <envoy_v3_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.stream_error_on_invalid_http_message>` // // See [RFC7540, sec. 8.1](https://datatracker.ietf.org/doc/html/rfc7540#section-8.1) for details. OverrideStreamErrorOnInvalidHttpMessage *wrappers.BoolValue `` /* 189-byte string literal not displayed */ // contains filtered or unexported fields }
func (*Http2ProtocolOptions) Clone ¶
func (m *Http2ProtocolOptions) Clone() proto.Message
Clone function
func (*Http2ProtocolOptions) Descriptor
deprecated
func (*Http2ProtocolOptions) Descriptor() ([]byte, []int)
Deprecated: Use Http2ProtocolOptions.ProtoReflect.Descriptor instead.
func (*Http2ProtocolOptions) Equal ¶
func (m *Http2ProtocolOptions) Equal(that interface{}) bool
Equal function
func (*Http2ProtocolOptions) GetInitialConnectionWindowSize ¶
func (x *Http2ProtocolOptions) GetInitialConnectionWindowSize() *wrappers.UInt32Value
func (*Http2ProtocolOptions) GetInitialStreamWindowSize ¶
func (x *Http2ProtocolOptions) GetInitialStreamWindowSize() *wrappers.UInt32Value
func (*Http2ProtocolOptions) GetMaxConcurrentStreams ¶
func (x *Http2ProtocolOptions) GetMaxConcurrentStreams() *wrappers.UInt32Value
func (*Http2ProtocolOptions) GetOverrideStreamErrorOnInvalidHttpMessage ¶
func (x *Http2ProtocolOptions) GetOverrideStreamErrorOnInvalidHttpMessage() *wrappers.BoolValue
func (*Http2ProtocolOptions) Hash ¶
func (m *Http2ProtocolOptions) Hash(hasher hash.Hash64) (uint64, error)
Hash function
func (*Http2ProtocolOptions) ProtoMessage ¶
func (*Http2ProtocolOptions) ProtoMessage()
func (*Http2ProtocolOptions) ProtoReflect ¶
func (x *Http2ProtocolOptions) ProtoReflect() protoreflect.Message
func (*Http2ProtocolOptions) Reset ¶
func (x *Http2ProtocolOptions) Reset()
func (*Http2ProtocolOptions) String ¶
func (x *Http2ProtocolOptions) String() string
type HttpProtocolOptions ¶
type HttpProtocolOptions struct { // The idle timeout for connections. The idle timeout is defined as the // period in which there are no active requests. When the // idle timeout is reached the connection will be closed. If the connection is an HTTP/2 // downstream connection a drain sequence will occur prior to closing the connection, see // :ref:`drain_timeout // <envoy_api_field_extensions.filters.network.http_connection_manager.v3.HttpConnectionManager.drain_timeout>`. // Note that request based timeouts mean that HTTP/2 PINGs will not keep the connection alive. // If not specified, this defaults to 1 hour. To disable idle timeouts explicitly set this to 0. // // **Warning**: // // Disabling this timeout has a highly likelihood of yielding connection leaks due to lost TCP // FIN packets, etc. IdleTimeout *duration.Duration `protobuf:"bytes,1,opt,name=idle_timeout,json=idleTimeout,proto3" json:"idle_timeout,omitempty"` // The maximum number of headers. If unconfigured, the default // maximum number of request headers allowed is 100. Requests that exceed this limit will receive // a 431 response for HTTP/1.x and cause a stream reset for HTTP/2. MaxHeadersCount uint32 `protobuf:"varint,2,opt,name=max_headers_count,json=maxHeadersCount,proto3" json:"max_headers_count,omitempty"` // Total duration to keep alive an HTTP request/response stream. If the time limit is reached the stream will be // reset independent of any other timeouts. If not specified, this value is not set. MaxStreamDuration *duration.Duration `protobuf:"bytes,3,opt,name=max_stream_duration,json=maxStreamDuration,proto3" json:"max_stream_duration,omitempty"` // Action to take when a client request with a header name containing underscore characters is received. // If this setting is not specified, the value defaults to ALLOW. // Note: upstream responses are not affected by this setting. HeadersWithUnderscoresAction HttpProtocolOptions_HeadersWithUnderscoresAction `` /* 234-byte string literal not displayed */ // contains filtered or unexported fields }
func (*HttpProtocolOptions) Clone ¶
func (m *HttpProtocolOptions) Clone() proto.Message
Clone function
func (*HttpProtocolOptions) Descriptor
deprecated
func (*HttpProtocolOptions) Descriptor() ([]byte, []int)
Deprecated: Use HttpProtocolOptions.ProtoReflect.Descriptor instead.
func (*HttpProtocolOptions) Equal ¶
func (m *HttpProtocolOptions) Equal(that interface{}) bool
Equal function
func (*HttpProtocolOptions) GetHeadersWithUnderscoresAction ¶
func (x *HttpProtocolOptions) GetHeadersWithUnderscoresAction() HttpProtocolOptions_HeadersWithUnderscoresAction
func (*HttpProtocolOptions) GetIdleTimeout ¶
func (x *HttpProtocolOptions) GetIdleTimeout() *duration.Duration
func (*HttpProtocolOptions) GetMaxHeadersCount ¶
func (x *HttpProtocolOptions) GetMaxHeadersCount() uint32
func (*HttpProtocolOptions) GetMaxStreamDuration ¶
func (x *HttpProtocolOptions) GetMaxStreamDuration() *duration.Duration
func (*HttpProtocolOptions) Hash ¶
func (m *HttpProtocolOptions) Hash(hasher hash.Hash64) (uint64, error)
Hash function
func (*HttpProtocolOptions) ProtoMessage ¶
func (*HttpProtocolOptions) ProtoMessage()
func (*HttpProtocolOptions) ProtoReflect ¶
func (x *HttpProtocolOptions) ProtoReflect() protoreflect.Message
func (*HttpProtocolOptions) Reset ¶
func (x *HttpProtocolOptions) Reset()
func (*HttpProtocolOptions) String ¶
func (x *HttpProtocolOptions) String() string
type HttpProtocolOptions_HeadersWithUnderscoresAction ¶
type HttpProtocolOptions_HeadersWithUnderscoresAction int32
Action to take when Envoy receives client request with header names containing underscore characters. Underscore character is allowed in header names by the RFC-7230 and this behavior is implemented as a security measure due to systems that treat '_' and '-' as interchangeable. Envoy by default allows client request headers with underscore characters.
const ( // Allow headers with underscores. This is the default behavior. HttpProtocolOptions_ALLOW HttpProtocolOptions_HeadersWithUnderscoresAction = 0 // Reject client request. HTTP/1 requests are rejected with the 400 status. HTTP/2 requests // end with the stream reset. The "httpN.requests_rejected_with_underscores_in_headers" counter // is incremented for each rejected request. HttpProtocolOptions_REJECT_REQUEST HttpProtocolOptions_HeadersWithUnderscoresAction = 1 // Drop the header with name containing underscores. The header is dropped before the filter chain is // invoked and as such filters will not see dropped headers. The // "httpN.dropped_headers_with_underscores" is incremented for each dropped header. HttpProtocolOptions_DROP_HEADER HttpProtocolOptions_HeadersWithUnderscoresAction = 2 )
func (HttpProtocolOptions_HeadersWithUnderscoresAction) Descriptor ¶
func (HttpProtocolOptions_HeadersWithUnderscoresAction) Descriptor() protoreflect.EnumDescriptor
func (HttpProtocolOptions_HeadersWithUnderscoresAction) EnumDescriptor
deprecated
func (HttpProtocolOptions_HeadersWithUnderscoresAction) EnumDescriptor() ([]byte, []int)
Deprecated: Use HttpProtocolOptions_HeadersWithUnderscoresAction.Descriptor instead.
func (HttpProtocolOptions_HeadersWithUnderscoresAction) Number ¶
func (x HttpProtocolOptions_HeadersWithUnderscoresAction) Number() protoreflect.EnumNumber
func (HttpProtocolOptions_HeadersWithUnderscoresAction) String ¶
func (x HttpProtocolOptions_HeadersWithUnderscoresAction) String() string