handler

package
v0.0.6 Latest Latest
Warning

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

Go to latest
Published: Feb 26, 2024 License: MIT Imports: 13 Imported by: 29

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type HandleOption

type HandleOption func(opts *HandleOptions)

func MetadataHandleOption

func MetadataHandleOption(md metadata.IMetaData) HandleOption

type HandleOptions

type HandleOptions struct {
	Metadata metadata.IMetaData
}

type IForwarder

type IForwarder interface {
	Forward(hop.IHop)
}

type IHandler

type IHandler interface {
	Init(metadata.IMetaData) error
	Handle(context.Context, net.Conn, ...HandleOption) error
}

type NewHandler

type NewHandler func(opts ...Option) IHandler

type Option

type Option func(opts *Options)

func AuthOption

func AuthOption(auth *url.Userinfo) Option

func AutherOption

func AutherOption(auther auth.IAuthenticator) Option

func BypassOption

func BypassOption(bypass bypass.IBypass) Option

func LoggerOption

func LoggerOption(logger logger.ILogger) Option

func ObserverOption added in v0.0.2

func ObserverOption(observer observer.IObserver) Option

func RateLimiterOption

func RateLimiterOption(limiter rate.IRateLimiter) Option

func RouterOption

func RouterOption(router *chain.Router) Option

func ServiceOption

func ServiceOption(service string) Option

func TLSConfigOption

func TLSConfigOption(tlsConfig *tls.Config) Option

func TrafficLimiterOption

func TrafficLimiterOption(limiter traffic.ITrafficLimiter) Option

type Options

type Options struct {
	Bypass      bypass.IBypass
	Router      *chain.Router
	Auth        *url.Userinfo
	Auther      auth.IAuthenticator
	RateLimiter rate.IRateLimiter
	Limiter     traffic.ITrafficLimiter
	TLSConfig   *tls.Config
	Logger      logger.ILogger
	Observer    observer.IObserver
	Service     string
}

Jump to

Keyboard shortcuts

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