interfaces

package
v1.0.1004 Latest Latest
Warning

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

Go to latest
Published: Jun 24, 2024 License: MIT Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var DefaultServices = map[string]bool{
	"debug.Testing/Input":  true,
	"debug.Testing/Stream": true,
	"debug.Info/Request":   true,
	"grpc.reflection.v1alpha.ServerReflection/ServerReflectionInfo": true,
}

Functions

This section is empty.

Types

type CertStorage

type CertStorage interface {
	Init() error
	GetCrt() (s [][]byte)
	OnChange(func())
}

type DefaultError

type DefaultError struct {
	Error   bool        `json:"error"`
	Message interface{} `json:"message"`
}

type Encryption

type Encryption interface {
	Encrypt(data []byte) (res []byte, err error)
	Decrypt(data []byte) (res []byte, err error)
}

type EndToEndOption

type EndToEndOption struct {
	Storage         KeyStorage
	SessionTimeout  time.Duration
	PrivateKey      string
	PublicKey       string
	MustBeEncrypted bool
	ByPassRequest   map[string]bool
}

type EventTypeProcess

type EventTypeProcess string
const (
	EventTypeProcessSplitter               EventTypeProcess = "http.splitter"
	EventTypeProcessHttpHandler            EventTypeProcess = "http.handler"
	EventTypeProcessHttpController         EventTypeProcess = "http.controller"
	EventTypeProcessGRPCWebController      EventTypeProcess = "grpc.web.controller"
	EventTypeProcessGRPCController         EventTypeProcess = "grpc.controller"
	EventTypeProcessHttpMiddlewareCompress EventTypeProcess = "http.middleware.compress"
)

type Interceptor

type Interceptor interface {
	Name() string
	Handler(http.Handler) http.Handler
	UnaryServerInterceptor() grpc.UnaryServerInterceptor
	StreamServerInterceptor() grpc.StreamServerInterceptor
}

func SortInterceptor

func SortInterceptor(req []Interceptor) []Interceptor

type KeyStorage

type KeyStorage interface {
	Set(id string, clientPublicKey []byte, serverPair encrypt.BoxKeyPair, alive time.Duration) error
	Get(id string) (response *proto.DefaultStorageItem, err error)
}

type Limiter

type Limiter struct {
	Enable      bool    `yaml:"enable" default:"false"`
	Max         float64 `yaml:"max" default:"100"`
	PerIp       bool    `yaml:"perIp" default:"false"`
	EveryMinute bool    `yaml:"everyMinute" default:"false"`
}

type Listener

type Listener interface {
	Init(opt Options, interceptor ...Interceptor) Listener
	//InitProcess - Without starting listener
	InitProcess(opt Options, interceptor ...Interceptor)
	Run() (err error)
	Close()
	RegisterMultipleHandler(MethodMultipleHandler)
	RegisterHttpHandler(path, method string, handler http.Handler)
	RegisterHttpPrefixHandler(path, method string, handler http.Handler)
	SetTracer(tracing.Tracing)
	UseWebSocket(pa string, onConnected WebSocketHandler, onMsg WebSocketHandlerOnMsg,
		onDisconnected WebSocketHandler) error
	GetInterceptor() (interceptor []Interceptor)
	GetServices() []string
	GetAllServices() (res []*proto.ServicesItems)
	GetOptions() Options
	GetTracer() tracing.Tracing
	NewMonitor() (mm interface{})
	SetMonitor(interface{})
	GetMonitor() (mm interface{})
	GetMonitorResponse() *proto.MonitorResponse
	GetLimiter() *limiter.Limiter
	GetGrpcServer() *grpc.Server
	GetTLSCerts() TLSCerts
	GlobalContext() context.Context
	UseGrpcEncryption(codec encoding.Codec)
	UseEndToEndEncryption(opts EndToEndOption) Listener
}

type Method

type Method string
const (
	MethodGET    Method = "GET"
	MethodPOST   Method = "POST"
	MethodPUT    Method = "PUT"
	MethodDELETE Method = "DELETE"
)

type MethodMultipleHandler

type MethodMultipleHandler interface{}

type MultipleHandlerOption

type MultipleHandlerOption interface {
	GetServiceDesc() []*grpc.ServiceDesc
	AllowMethod(string) []Method
}

MultipleHandlerOption -

type Option

type Option interface {
	Apply(Listener)
}

type Options

type Options struct {
	ServiceName      string
	Listen           string
	Port             Port
	Logger           logger.Logger
	Pem              string
	Vault            *proto.Vault
	AutoReloadPemDir bool
	DisableSecure    bool
	EnableEncryption bool
	Driver           string
	UseAuthCallback  UseAuthCallback
	ServiceInfo      *proto.ServicesInfo
	DisableMonitor   bool
	Limiter          Limiter
	TraceLog         tracingInterface.DefaultLogSpanSave
}

type Port

type Port struct {
	Insecure int
	Secure   int
}

type RequestContext

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

func (*RequestContext) GetData added in v1.0.1003

func (c *RequestContext) GetData() (val interface{})

func (*RequestContext) GetQuery

func (c *RequestContext) GetQuery() (val func() url.Values)

func (*RequestContext) GetRequestID

func (c *RequestContext) GetRequestID() (val string)

func (*RequestContext) GetUserData

func (c *RequestContext) GetUserData() (val interface{})

func (*RequestContext) GetUserId

func (c *RequestContext) GetUserId() string

func (*RequestContext) SetData added in v1.0.1003

func (c *RequestContext) SetData(val interface{})

func (*RequestContext) SetQuery

func (c *RequestContext) SetQuery(val func() url.Values)

func (*RequestContext) SetRequestID

func (c *RequestContext) SetRequestID(val string)

func (*RequestContext) SetUserData

func (c *RequestContext) SetUserData(val interface{})

func (*RequestContext) SetUserId

func (c *RequestContext) SetUserId(val string)

type RequestContextType

type RequestContextType string
const ListenerRequestContext RequestContextType = "ListenerRequestContext"
const RequestContextWebSocket RequestContextType = "RequestContextWebSocket"

type SocketRequestContext added in v1.0.1003

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

func (*SocketRequestContext) GetRequest added in v1.0.1003

func (c *SocketRequestContext) GetRequest() (val *http.Request)

func (*SocketRequestContext) GetRequestID added in v1.0.1003

func (c *SocketRequestContext) GetRequestID() (val string)

func (*SocketRequestContext) SetRequest added in v1.0.1003

func (c *SocketRequestContext) SetRequest(val *http.Request)

func (*SocketRequestContext) SetRequestID added in v1.0.1003

func (c *SocketRequestContext) SetRequestID(val string)

type TLSCerts

type TLSCerts interface {
	Init()
	NewConfig(name string, dir string, autoReload bool, disableHttp2 bool, vault *proto.Vault) *tls.Config
}

type TcpConnectionInformation

type TcpConnectionInformation struct {
	Secure      bool
	ClientHello *tls.ClientHelloInfo
}

type TcpHandler

type TcpHandler func(conn net.Conn, info *TcpConnectionInformation, onDone TcpHandlerOnDone)

type TcpHandlerOnDone

type TcpHandlerOnDone func()

type UseAuthCallback

type UseAuthCallback func(r *http.Request) bool

type WebSocketHandler

type WebSocketHandler func(ctx context.Context, c *websocket.Conn) error

type WebSocketHandlerOnMsg

type WebSocketHandlerOnMsg func(ctx context.Context, data []byte, c *websocket.Conn) error

Jump to

Keyboard shortcuts

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