filter

package
v0.4.5 Latest Latest
Warning

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

Go to latest
Published: Jun 3, 2023 License: MIT Imports: 8 Imported by: 0

Documentation

Index

Constants

View Source
const (
	DefaultRealm = "Restricted"
)

Variables

This section is empty.

Functions

func RegisterNewFilterFunc

func RegisterNewFilterFunc(filterType string, fn NewFilterFunc)

RegisterNewFilterFunc registers a NewFilterFunc with filterType.

Types

type BasicAuthFilter added in v0.2.2

type BasicAuthFilter struct {
	Realm     string           `yaml:"realm"`
	Users     []*BasicAuthUser `yaml:"users"`
	UsersFile string           `yaml:"usersFile"`
}

BasicAuthFilter implements Filter.

func (*BasicAuthFilter) Request added in v0.2.2

func (f *BasicAuthFilter) Request(ctx *fasthttp.RequestCtx) bool

Request examines the Authorization header of the given ctx and matches it against the user it holds. If the user does not match, it sets 401 Unauthorized and returns false.

func (*BasicAuthFilter) Response added in v0.2.2

func (f *BasicAuthFilter) Response(ctx *fasthttp.RequestCtx) bool

Response dose nothing and returns true.

type BasicAuthUser

type BasicAuthUser struct {
	Name   string `yaml:"name"`
	Secret string `yaml:"secret"`
	// contains filtered or unexported fields
}

BasicAuthUser represents a basic auth user.

type Filter

type Filter interface {
	// Request filters before handling request context. If it returns false,
	// further processing will stop.
	Request(ctx *fasthttp.RequestCtx) bool
	// Response filters after handling request context. If it returns false,
	// further processing will stop.
	Response(ctx *fasthttp.RequestCtx) bool
}

Filter represents a filter that defines to filter request and response.

func NewBasicAuthFilter

func NewBasicAuthFilter(cfg tree.Map) (Filter, error)

NewBasicAuthFilter returns a new BasicAuthFilter.

func NewFilter

func NewFilter(cfg tree.Map) (Filter, error)

NewFilter returns a new filter.

func NewHeaderFilter added in v0.2.2

func NewHeaderFilter(cfg tree.Map) (Filter, error)

NewHeaderFilter returns a new HeaderFilter.

type FilterDelegator added in v0.3.7

type FilterDelegator struct {
	RequestFunc  func(ctx *fasthttp.RequestCtx) bool
	ResponseFunc func(ctx *fasthttp.RequestCtx) bool
}

FilterDelegator can delegate the Filter functions.

func (*FilterDelegator) Request added in v0.3.7

func (d *FilterDelegator) Request(ctx *fasthttp.RequestCtx) bool

func (*FilterDelegator) Response added in v0.3.7

func (d *FilterDelegator) Response(ctx *fasthttp.RequestCtx) bool

type HeaderFilter added in v0.2.2

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

HeaderFilter implements the Filter that filters headers of request and response.

func (*HeaderFilter) Request added in v0.2.2

func (f *HeaderFilter) Request(ctx *fasthttp.RequestCtx) bool

Request filters ctx.Request.Header.

func (*HeaderFilter) Response added in v0.2.2

func (f *HeaderFilter) Response(ctx *fasthttp.RequestCtx) bool

Response filters ctx.Response.Header.

type NewFilterFunc

type NewFilterFunc func(cfg tree.Map) (Filter, error)

NewFilterFunc is a function that returns a new filter.

Jump to

Keyboard shortcuts

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