headers

package
v2.0.0-beta9 Latest Latest
Warning

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

Go to latest
Published: Nov 4, 2019 License: Apache-2.0 Imports: 7 Imported by: 28

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func CaddyfileHeaderOp

func CaddyfileHeaderOp(ops *HeaderOps, field, value, replacement string)

CaddyfileHeaderOp applies a new header operation according to field, value, and replacement. The field can be prefixed with "+" or "-" to specify adding or removing; otherwise, the value will be set (overriding any previous value). If replacement is non-empty, value will be treated as a regular expression which will be used to search and then replacement will be used to complete the substring replacement; in that case, any + or - prefix to field will be ignored.

Types

type Handler

type Handler struct {
	Request  *HeaderOps     `json:"request,omitempty"`
	Response *RespHeaderOps `json:"response,omitempty"`
}

Handler is a middleware which can mutate HTTP headers.

func (Handler) CaddyModule

func (Handler) CaddyModule() caddy.ModuleInfo

CaddyModule returns the Caddy module information.

func (*Handler) Provision

func (h *Handler) Provision(_ caddy.Context) error

Provision sets up h's configuration.

func (Handler) ServeHTTP

func (h Handler) ServeHTTP(w http.ResponseWriter, r *http.Request, next caddyhttp.Handler) error

func (Handler) Validate

func (h Handler) Validate() error

Validate ensures h's configuration is valid.

type HeaderOps

type HeaderOps struct {
	Add     http.Header              `json:"add,omitempty"`
	Set     http.Header              `json:"set,omitempty"`
	Delete  []string                 `json:"delete,omitempty"`
	Replace map[string][]Replacement `json:"replace,omitempty"`
}

HeaderOps defines some operations to perform on HTTP headers.

func (HeaderOps) ApplyTo

func (ops HeaderOps) ApplyTo(hdr http.Header, repl caddy.Replacer)

ApplyTo applies ops to hdr using repl.

func (HeaderOps) ApplyToRequest

func (ops HeaderOps) ApplyToRequest(r *http.Request)

ApplyToRequest applies ops to r, specially handling the Host header which the standard library does not include with the header map with all the others. This method mutates r.Host.

type Replacement

type Replacement struct {
	Search       string `json:"search,omitempty"`
	SearchRegexp string `json:"search_regexp,omitempty"`
	Replace      string `json:"replace,omitempty"`
	// contains filtered or unexported fields
}

Replacement describes a string replacement, either a simple and fast sugbstring search or a slower but more powerful regex search.

type RespHeaderOps

type RespHeaderOps struct {
	*HeaderOps
	Require  *caddyhttp.ResponseMatcher `json:"require,omitempty"`
	Deferred bool                       `json:"deferred,omitempty"`
}

RespHeaderOps is like HeaderOps, but optionally deferred until response time.

Jump to

Keyboard shortcuts

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