Documentation ¶
Index ¶
- Variables
- type HeaderMutation
- func (m *HeaderMutation) Clone() proto.Message
- func (*HeaderMutation) Descriptor() ([]byte, []int)deprecated
- func (m *HeaderMutation) Equal(that interface{}) bool
- func (m *HeaderMutation) GetAction() isHeaderMutation_Action
- func (x *HeaderMutation) GetAppend() *v31.HeaderValueOption
- func (x *HeaderMutation) GetRemove() string
- func (m *HeaderMutation) Hash(hasher hash.Hash64) (uint64, error)deprecated
- func (m *HeaderMutation) HashUnique(hasher hash.Hash64) (uint64, error)
- func (*HeaderMutation) ProtoMessage()
- func (x *HeaderMutation) ProtoReflect() protoreflect.Message
- func (x *HeaderMutation) Reset()
- func (x *HeaderMutation) String() string
- type HeaderMutationRules
- func (m *HeaderMutationRules) Clone() proto.Message
- func (*HeaderMutationRules) Descriptor() ([]byte, []int)deprecated
- func (m *HeaderMutationRules) Equal(that interface{}) bool
- func (x *HeaderMutationRules) GetAllowAllRouting() *wrapperspb.BoolValue
- func (x *HeaderMutationRules) GetAllowEnvoy() *wrapperspb.BoolValue
- func (x *HeaderMutationRules) GetAllowExpression() *v3.RegexMatcher
- func (x *HeaderMutationRules) GetDisallowAll() *wrapperspb.BoolValue
- func (x *HeaderMutationRules) GetDisallowExpression() *v3.RegexMatcher
- func (x *HeaderMutationRules) GetDisallowIsError() *wrapperspb.BoolValue
- func (x *HeaderMutationRules) GetDisallowSystem() *wrapperspb.BoolValue
- func (m *HeaderMutationRules) Hash(hasher hash.Hash64) (uint64, error)deprecated
- func (m *HeaderMutationRules) HashUnique(hasher hash.Hash64) (uint64, error)
- func (*HeaderMutationRules) ProtoMessage()
- func (x *HeaderMutationRules) ProtoReflect() protoreflect.Message
- func (x *HeaderMutationRules) Reset()
- func (x *HeaderMutationRules) String() string
- type HeaderMutation_Append
- type HeaderMutation_Remove
Constants ¶
This section is empty.
Variables ¶
var File_github_com_solo_io_gloo_projects_gloo_api_external_envoy_config_common_mutation_rules_v3_mutation_rules_proto protoreflect.FileDescriptor
Functions ¶
This section is empty.
Types ¶
type HeaderMutation ¶
type HeaderMutation struct { // Types that are assignable to Action: // // *HeaderMutation_Remove // *HeaderMutation_Append Action isHeaderMutation_Action `protobuf_oneof:"action"` // contains filtered or unexported fields }
The HeaderMutation structure specifies an action that may be taken on HTTP headers.
func (*HeaderMutation) Descriptor
deprecated
func (*HeaderMutation) Descriptor() ([]byte, []int)
Deprecated: Use HeaderMutation.ProtoReflect.Descriptor instead.
func (*HeaderMutation) GetAction ¶
func (m *HeaderMutation) GetAction() isHeaderMutation_Action
func (*HeaderMutation) GetAppend ¶
func (x *HeaderMutation) GetAppend() *v31.HeaderValueOption
func (*HeaderMutation) GetRemove ¶
func (x *HeaderMutation) GetRemove() string
func (*HeaderMutation) Hash
deprecated
func (m *HeaderMutation) Hash(hasher hash.Hash64) (uint64, error)
Hash function
Deprecated: due to hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions. Prefer the HashUnique function instead.
func (*HeaderMutation) HashUnique ¶ added in v1.18.0
func (m *HeaderMutation) HashUnique(hasher hash.Hash64) (uint64, error)
HashUnique function generates a hash of the object that is unique to the object by hashing field name and value pairs. Replaces Hash due to original hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions.
func (*HeaderMutation) ProtoMessage ¶
func (*HeaderMutation) ProtoMessage()
func (*HeaderMutation) ProtoReflect ¶
func (x *HeaderMutation) ProtoReflect() protoreflect.Message
func (*HeaderMutation) Reset ¶
func (x *HeaderMutation) Reset()
func (*HeaderMutation) String ¶
func (x *HeaderMutation) String() string
type HeaderMutationRules ¶
type HeaderMutationRules struct { // By default, certain headers that could affect processing of subsequent // filters or request routing cannot be modified. These headers are // `host`, `:authority`, `:scheme`, and `:method`. Setting this parameter // to true allows these headers to be modified as well. AllowAllRouting *wrapperspb.BoolValue `protobuf:"bytes,1,opt,name=allow_all_routing,json=allowAllRouting,proto3" json:"allow_all_routing,omitempty"` // If true, allow modification of envoy internal headers. By default, these // start with `x-envoy` but this may be overridden in the `Bootstrap` // configuration using the // :ref:`header_prefix <envoy_v3_api_field_config.bootstrap.v3.Bootstrap.header_prefix>` // field. Default is false. AllowEnvoy *wrapperspb.BoolValue `protobuf:"bytes,2,opt,name=allow_envoy,json=allowEnvoy,proto3" json:"allow_envoy,omitempty"` // If true, prevent modification of any system header, defined as a header // that starts with a `:` character, regardless of any other settings. // A processing server may still override the `:status` of an HTTP response // using an `ImmediateResponse` message. Default is false. DisallowSystem *wrapperspb.BoolValue `protobuf:"bytes,3,opt,name=disallow_system,json=disallowSystem,proto3" json:"disallow_system,omitempty"` // If true, prevent modifications of all header values, regardless of any // other settings. A processing server may still override the `:status` // of an HTTP response using an `ImmediateResponse` message. Default is false. DisallowAll *wrapperspb.BoolValue `protobuf:"bytes,4,opt,name=disallow_all,json=disallowAll,proto3" json:"disallow_all,omitempty"` // If set, specifically allow any header that matches this regular // expression. This overrides all other settings except for // `disallow_expression`. AllowExpression *v3.RegexMatcher `protobuf:"bytes,5,opt,name=allow_expression,json=allowExpression,proto3" json:"allow_expression,omitempty"` // If set, specifically disallow any header that matches this regular // expression regardless of any other settings. DisallowExpression *v3.RegexMatcher `protobuf:"bytes,6,opt,name=disallow_expression,json=disallowExpression,proto3" json:"disallow_expression,omitempty"` // If true, and if the rules in this list cause a header mutation to be // disallowed, then the filter using this configuration will terminate the // request with a 500 error. In addition, regardless of the setting of this // parameter, any attempt to set, add, or modify a disallowed header will // cause the `rejected_header_mutations` counter to be incremented. // Default is false. DisallowIsError *wrapperspb.BoolValue `protobuf:"bytes,7,opt,name=disallow_is_error,json=disallowIsError,proto3" json:"disallow_is_error,omitempty"` // contains filtered or unexported fields }
The HeaderMutationRules structure specifies what headers may be manipulated by a processing filter. This set of rules makes it possible to control which modifications a filter may make.
By default, an external processing server may add, modify, or remove any header except for an "Envoy internal" header (which is typically denoted by an x-envoy prefix) or specific headers that may affect further filter processing:
* `host` * `:authority` * `:scheme` * `:method`
Every attempt to add, change, append, or remove a header will be tested against the rules here. Disallowed header mutations will be ignored unless `disallow_is_error` is set to true.
Attempts to remove headers are further constrained -- regardless of the settings, system-defined headers (that start with `:`) and the `host` header may never be removed.
In addition, a counter will be incremented whenever a mutation is rejected. In the ext_proc filter, that counter is named `rejected_header_mutations`. [#next-free-field: 8]
func (*HeaderMutationRules) Clone ¶
func (m *HeaderMutationRules) Clone() proto.Message
Clone function
func (*HeaderMutationRules) Descriptor
deprecated
func (*HeaderMutationRules) Descriptor() ([]byte, []int)
Deprecated: Use HeaderMutationRules.ProtoReflect.Descriptor instead.
func (*HeaderMutationRules) Equal ¶
func (m *HeaderMutationRules) Equal(that interface{}) bool
Equal function
func (*HeaderMutationRules) GetAllowAllRouting ¶
func (x *HeaderMutationRules) GetAllowAllRouting() *wrapperspb.BoolValue
func (*HeaderMutationRules) GetAllowEnvoy ¶
func (x *HeaderMutationRules) GetAllowEnvoy() *wrapperspb.BoolValue
func (*HeaderMutationRules) GetAllowExpression ¶
func (x *HeaderMutationRules) GetAllowExpression() *v3.RegexMatcher
func (*HeaderMutationRules) GetDisallowAll ¶
func (x *HeaderMutationRules) GetDisallowAll() *wrapperspb.BoolValue
func (*HeaderMutationRules) GetDisallowExpression ¶
func (x *HeaderMutationRules) GetDisallowExpression() *v3.RegexMatcher
func (*HeaderMutationRules) GetDisallowIsError ¶
func (x *HeaderMutationRules) GetDisallowIsError() *wrapperspb.BoolValue
func (*HeaderMutationRules) GetDisallowSystem ¶
func (x *HeaderMutationRules) GetDisallowSystem() *wrapperspb.BoolValue
func (*HeaderMutationRules) Hash
deprecated
func (m *HeaderMutationRules) Hash(hasher hash.Hash64) (uint64, error)
Hash function
Deprecated: due to hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions. Prefer the HashUnique function instead.
func (*HeaderMutationRules) HashUnique ¶ added in v1.18.0
func (m *HeaderMutationRules) HashUnique(hasher hash.Hash64) (uint64, error)
HashUnique function generates a hash of the object that is unique to the object by hashing field name and value pairs. Replaces Hash due to original hashing implemention only using field values. The omission of the field name in the hash calculation can lead to hash collisions.
func (*HeaderMutationRules) ProtoMessage ¶
func (*HeaderMutationRules) ProtoMessage()
func (*HeaderMutationRules) ProtoReflect ¶
func (x *HeaderMutationRules) ProtoReflect() protoreflect.Message
func (*HeaderMutationRules) Reset ¶
func (x *HeaderMutationRules) Reset()
func (*HeaderMutationRules) String ¶
func (x *HeaderMutationRules) String() string
type HeaderMutation_Append ¶
type HeaderMutation_Append struct { // Append new header by the specified HeaderValueOption. Append *v31.HeaderValueOption `protobuf:"bytes,2,opt,name=append,proto3,oneof"` }
type HeaderMutation_Remove ¶
type HeaderMutation_Remove struct { // Remove the specified header if it exists. Remove string `protobuf:"bytes,1,opt,name=remove,proto3,oneof"` }