proxy

package
v0.1.27 Latest Latest
Warning

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

Go to latest
Published: Jul 17, 2020 License: MIT Imports: 18 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	DefaultInterceptors = make(Interceptors)
)

Functions

func ClientHintsInterceptor

func ClientHintsInterceptor(ctx *context.Context) (proceed bool, err error)

func PrefixInterceptor

func PrefixInterceptor(ctx *context.Context) (proceed bool, err error)

func RemoveServerHeader

func RemoveServerHeader(ctx *context.Context) (proceed bool, err error)

func UpstreamHintsInterceptor

func UpstreamHintsInterceptor(ctx *context.Context) (proceed bool, err error)

func WhitelistedRemotesInterceptor

func WhitelistedRemotesInterceptor(ctx *context.Context) (proceed bool, err error)

Types

type AccessLogger

type AccessLogger func(*lctx.Context)

type CorsInterceptor

type CorsInterceptor struct {
	AllowedOriginsHost rules.ForceableHostPatterns
	AllowedMethods     rules.ForceableMethods
	AllowedHeaders     rules.ForceableHeaderNames
	AllowedCredentials rules.ForceableBool
	MaxAge             rules.ForceableDuration
	Enabled            rules.ForceableBool
}

func NewCorsInterceptor

func NewCorsInterceptor() *CorsInterceptor

func (*CorsInterceptor) Handle

func (instance *CorsInterceptor) Handle(ctx *context.Context) (proceed bool, err error)

func (*CorsInterceptor) HandlesStages

func (instance *CorsInterceptor) HandlesStages() []context.Stage

func (*CorsInterceptor) Name

func (instance *CorsInterceptor) Name() string

func (*CorsInterceptor) RegisterFlag

func (instance *CorsInterceptor) RegisterFlag(fe support.FlagEnabled, appPrefix string) error

type CustomHeaders

type CustomHeaders struct {
	Request  rules.Headers
	Response rules.Headers
}

func NewCustomHeaders

func NewCustomHeaders() *CustomHeaders

func (*CustomHeaders) Handle

func (instance *CustomHeaders) Handle(ctx *context.Context) (proceed bool, err error)

func (*CustomHeaders) HandlesStages

func (instance *CustomHeaders) HandlesStages() []context.Stage

func (*CustomHeaders) Name

func (instance *CustomHeaders) Name() string

func (*CustomHeaders) RegisterFlag

func (instance *CustomHeaders) RegisterFlag(fe support.FlagEnabled, appPrefix string) error

type Encoding added in v0.1.14

type Encoding struct{}

func NewEncoding added in v0.1.14

func NewEncoding() *Encoding

func (*Encoding) Handle added in v0.1.14

func (instance *Encoding) Handle(ctx *context.Context) (proceed bool, err error)

func (*Encoding) HandlesStages added in v0.1.14

func (instance *Encoding) HandlesStages() []context.Stage

func (*Encoding) Name added in v0.1.14

func (instance *Encoding) Name() string

func (*Encoding) RegisterFlag added in v0.1.14

func (instance *Encoding) RegisterFlag(support.FlagEnabled, string) error

type ForceSecureInterceptor

type ForceSecureInterceptor struct {
	Enabled rules.ForceableBool
}

func NewForceSecureInterceptor

func NewForceSecureInterceptor() *ForceSecureInterceptor

func (*ForceSecureInterceptor) Handle

func (instance *ForceSecureInterceptor) Handle(ctx *context.Context) (proceed bool, err error)

func (*ForceSecureInterceptor) HandlesStages

func (instance *ForceSecureInterceptor) HandlesStages() []context.Stage

func (*ForceSecureInterceptor) Name

func (instance *ForceSecureInterceptor) Name() string

func (*ForceSecureInterceptor) RegisterFlag

func (instance *ForceSecureInterceptor) RegisterFlag(fe support.FlagEnabled, appPrefix string) error

type Interceptor

type Interceptor interface {
	Name() string
	Handle(ctx *context.Context) (proceed bool, err error)
	HandlesStages() []context.Stage
}

type InterceptorFunc

type InterceptorFunc func(ctx *context.Context) (proceed bool, err error)

type Interceptors

type Interceptors map[context.Stage]map[string]Interceptor

func (Interceptors) Add

func (instance Interceptors) Add(i Interceptor) Interceptors

func (Interceptors) AddFunc

func (instance Interceptors) AddFunc(name string, i InterceptorFunc, stages ...context.Stage) Interceptors

func (Interceptors) Clone

func (instance Interceptors) Clone() Interceptors

func (Interceptors) Handle

func (instance Interceptors) Handle(ctx *context.Context) (proceed bool, err error)

func (Interceptors) Init added in v0.1.7

func (instance Interceptors) Init(stop support.Channel) error

func (Interceptors) RegisterFlag

func (instance Interceptors) RegisterFlag(fe support.FlagEnabled, appPrefix string) error

func (Interceptors) Remove

func (instance Interceptors) Remove(i Interceptor) Interceptors

func (Interceptors) RemoveByName

func (instance Interceptors) RemoveByName(name string) Interceptors

type Proxy

type Proxy struct {
	Dialer          *net.Dialer
	Transport       *http.Transport
	RulesRepository rules.Repository

	OverrideHost   string
	OverrideScheme string

	BehindOtherReverseProxy bool
	ResultHandler           lctx.ResultHandler
	AccessLogger            AccessLogger
	Interceptors            Interceptors
	MetricsCollector        lctx.MetricsCollector
}

func New

func New(rules rules.Repository) (*Proxy, error)

func (*Proxy) Init added in v0.1.7

func (instance *Proxy) Init(stop support.Channel) error

func (*Proxy) RegisterFlag

func (instance *Proxy) RegisterFlag(fe support.FlagEnabled, appPrefix string) error

func (*Proxy) ServeHTTP

func (instance *Proxy) ServeHTTP(resp http.ResponseWriter, req *http.Request)

Jump to

Keyboard shortcuts

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