Skip to content
Snippets Groups Projects
middleware.go 754 B
// Code generated by gowrap. DO NOT EDIT.
// template: ../../../assets/templates/middleware/middleware.tmpl
// gowrap: http://github.com/hexdigest/gowrap

package middleware

//go:generate gowrap gen -p git.perx.ru/perxis/perxis-go/pkg/users -i Users -t ../../../assets/templates/middleware/middleware.tmpl -o middleware.go -l ""

import (
	"git.perx.ru/perxis/perxis-go/pkg/users"
	"go.uber.org/zap"
)

type Middleware func(users.Users) users.Users

func WithLog(s users.Users, logger *zap.Logger, log_access bool) users.Users {
	if logger == nil {
		logger = zap.NewNop()
	}
	logger = logger.Named("Users")
	if log_access {
		s = AccessLoggingMiddleware(logger)(s)
	}
	s = LoggingMiddleware(logger)(s)

	s = RecoveringMiddleware(logger)(s)
	return s
}