middleware

package
v0.0.0-...-dfd90ba Latest Latest
Warning

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

Go to latest
Published: May 24, 2023 License: MIT Imports: 17 Imported by: 0

Documentation

Index

Constants

View Source
const MainOrigin = "https://pickpin.ru"

Variables

View Source
var AllowedOrigins = map[string]struct{}{
	MainOrigin:                {},
	"http://localhost":        {},
	"http://127.0.0.1":        {},
	"https://park.vk.company": {},
}

Functions

func Cors

func Cors(handler router.Handler) router.Handler

func ErrorHandler

func ErrorHandler(handler func(w http.ResponseWriter, r *http.Request, p httprouter.Params) error, log *zap.Logger) httprouter.Handle

func HandleLogger

func HandleLogger(handler httprouter.Handle, log *zap.Logger) httprouter.Handle

func HandlerFuncLogger

func HandlerFuncLogger(handler http.HandlerFunc, log *zap.Logger) http.HandlerFunc

func OptionsHandler

func OptionsHandler(w http.ResponseWriter, r *http.Request)

func SetUserID

func SetUserID(handler router.Handler) router.Handler

Types

type AccessChecker

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

func NewAccessChecker

func NewAccessChecker(serv AccessService) AccessChecker

func (*AccessChecker) ReadChecker

func (accessChecker *AccessChecker) ReadChecker(handler router.Handler) router.Handler

func (*AccessChecker) WriteChecker

func (accessChecker *AccessChecker) WriteChecker(handler router.Handler) router.Handler

type AccessService

type AccessService interface {
	CheckWriteAccess(userId, objectId string) (bool, error)
	CheckReadAccess(userId, objectId string) (bool, error)
}

type AuthService

type AuthService interface {
	CheckAuth(userId, sessionId string) (models.User, error)
}

type Authorizer

type Authorizer func(h router.Handler) router.Handler

func NewAuthorizer

func NewAuthorizer(serv AuthService, log *zap.Logger) Authorizer

type CSRFMiddleware

type CSRFMiddleware func(h router.Handler) router.Handler

func NewCSRFMiddleware

func NewCSRFMiddleware(token *tokens.HashToken, log *zap.Logger) CSRFMiddleware

type GRPCMetricsMiddleware

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

func (*GRPCMetricsMiddleware) MetricsInterceptor

func (m *GRPCMetricsMiddleware) MetricsInterceptor(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (interface{}, error)

type HttpMetricsMiddleware

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

func (*HttpMetricsMiddleware) MetricsMiddleware

func (m *HttpMetricsMiddleware) MetricsMiddleware(handler func(w http.ResponseWriter, r *http.Request, p httprouter.Params) error, log *zap.Logger) func(w http.ResponseWriter, r *http.Request, p httprouter.Params) error

Jump to

Keyboard shortcuts

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