mutation_rulesv3

package
v0.10.2 Latest Latest
Warning

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

Go to latest
Published: Jun 28, 2022 License: Apache-2.0 Imports: 19 Imported by: 23

Documentation

Index

Constants

This section is empty.

Variables

View Source
var File_envoy_config_common_mutation_rules_v3_mutation_rules_proto protoreflect.FileDescriptor

Functions

This section is empty.

Types

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 *wrappers.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 *wrappers.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 *wrappers.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 *wrappers.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 *wrappers.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) Descriptor deprecated

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

Deprecated: Use HeaderMutationRules.ProtoReflect.Descriptor instead.

func (*HeaderMutationRules) GetAllowAllRouting

func (x *HeaderMutationRules) GetAllowAllRouting() *wrappers.BoolValue

func (*HeaderMutationRules) GetAllowEnvoy

func (x *HeaderMutationRules) GetAllowEnvoy() *wrappers.BoolValue

func (*HeaderMutationRules) GetAllowExpression

func (x *HeaderMutationRules) GetAllowExpression() *v3.RegexMatcher

func (*HeaderMutationRules) GetDisallowAll

func (x *HeaderMutationRules) GetDisallowAll() *wrappers.BoolValue

func (*HeaderMutationRules) GetDisallowExpression

func (x *HeaderMutationRules) GetDisallowExpression() *v3.RegexMatcher

func (*HeaderMutationRules) GetDisallowIsError

func (x *HeaderMutationRules) GetDisallowIsError() *wrappers.BoolValue

func (*HeaderMutationRules) GetDisallowSystem

func (x *HeaderMutationRules) GetDisallowSystem() *wrappers.BoolValue

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

func (*HeaderMutationRules) Validate

func (m *HeaderMutationRules) Validate() error

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

func (*HeaderMutationRules) ValidateAll

func (m *HeaderMutationRules) ValidateAll() error

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

type HeaderMutationRulesMultiError

type HeaderMutationRulesMultiError []error

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

func (HeaderMutationRulesMultiError) AllErrors

func (m HeaderMutationRulesMultiError) AllErrors() []error

AllErrors returns a list of validation violation errors.

func (HeaderMutationRulesMultiError) Error

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

type HeaderMutationRulesValidationError

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

HeaderMutationRulesValidationError is the validation error returned by HeaderMutationRules.Validate if the designated constraints aren't met.

func (HeaderMutationRulesValidationError) Cause

Cause function returns cause value.

func (HeaderMutationRulesValidationError) Error

Error satisfies the builtin error interface

func (HeaderMutationRulesValidationError) ErrorName

ErrorName returns error name.

func (HeaderMutationRulesValidationError) Field

Field function returns field value.

func (HeaderMutationRulesValidationError) Key

Key function returns key value.

func (HeaderMutationRulesValidationError) Reason

Reason function returns reason value.

Jump to

Keyboard shortcuts

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