httpfilter

package
v1.5.3 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: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type HTTPFilter

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

HTTPFilter filters HTTP traffic.

func New

func New(spec *Spec) *HTTPFilter

New creates an HTTPFilter.

func (*HTTPFilter) Filter

func (hf *HTTPFilter) Filter(ctx context.HTTPContext) bool

Filter filters HTTPContext.

type Probability

type Probability struct {
	PerMill       uint32 `yaml:"perMill" jsonschema:"required,minimum=1,maximum=1000"`
	Policy        string `yaml:"policy" jsonschema:"required,enum=ipHash,enum=headerHash,enum=random"`
	HeaderHashKey string `yaml:"headerHashKey" jsonschema:"omitempty"`
}

Probability filters HTTP traffic by probability.

func (Probability) Validate

func (p Probability) Validate() error

Validate validates Probability.

type Spec

type Spec struct {
	MatchAllHeaders bool                            `yaml:"matchAllHeaders" jsonschema:"omitempty"`
	Headers         map[string]*urlrule.StringMatch `yaml:"headers" jsonschema:"omitempty"`
	URLs            []*urlrule.URLRule              `yaml:"urls" jsonschema:"omitempty"`
	Probability     *Probability                    `yaml:"probability,omitempty" jsonschema:"omitempty"`
}

Spec describes HTTPFilter.

func (Spec) Validate

func (s Spec) Validate() error

Validate validates Spec

Jump to

Keyboard shortcuts

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