Select Git revision
object_test.go
recovering_middleware.go 2.74 KiB
// Code generated by gowrap. DO NOT EDIT.
// template: ../../../assets/templates/middleware/recovery
// gowrap: http://github.com/hexdigest/gowrap
package service
//go:generate gowrap gen -p git.perx.ru/perxis/perxis-go/pkg/members -i Members -t ../../../assets/templates/middleware/recovery -o recovering_middleware.go -l ""
import (
"context"
"fmt"
"git.perx.ru/perxis/perxis-go/pkg/members"
"go.uber.org/zap"
)
// recoveringMiddleware implements members.Members that is instrumented with logging
type recoveringMiddleware struct {
logger *zap.Logger
next members.Members
}
// RecoveringMiddleware instruments an implementation of the members.Members with simple logging
func RecoveringMiddleware(logger *zap.Logger) Middleware {
return func(next members.Members) members.Members {
return &recoveringMiddleware{
next: next,
logger: logger,
}
}
}
func (m *recoveringMiddleware) Get(ctx context.Context, orgId string, userId string) (role members.Role, err error) {
logger := m.logger
defer func() {
if r := recover(); r != nil {
logger.Error("panic", zap.Error(fmt.Errorf("%v", r)))
err = fmt.Errorf("%v", r)
}
}()
return m.next.Get(ctx, orgId, userId)
}
func (m *recoveringMiddleware) ListMembers(ctx context.Context, orgId string) (members []*members.Member, err error) {
logger := m.logger
defer func() {
if r := recover(); r != nil {
logger.Error("panic", zap.Error(fmt.Errorf("%v", r)))
err = fmt.Errorf("%v", r)
}
}()
return m.next.ListMembers(ctx, orgId)
}
func (m *recoveringMiddleware) ListOrganizations(ctx context.Context, userId string) (organizations []*members.Member, err error) {
logger := m.logger
defer func() {
if r := recover(); r != nil {
logger.Error("panic", zap.Error(fmt.Errorf("%v", r)))
err = fmt.Errorf("%v", r)
}
}()
return m.next.ListOrganizations(ctx, userId)
}
func (m *recoveringMiddleware) Remove(ctx context.Context, orgId string, userId string) (err error) {
logger := m.logger
defer func() {
if r := recover(); r != nil {
logger.Error("panic", zap.Error(fmt.Errorf("%v", r)))
err = fmt.Errorf("%v", r)
}
}()
return m.next.Remove(ctx, orgId, userId)
}
func (m *recoveringMiddleware) RemoveAll(ctx context.Context, orgId string) (err error) {
logger := m.logger
defer func() {
if r := recover(); r != nil {
logger.Error("panic", zap.Error(fmt.Errorf("%v", r)))
err = fmt.Errorf("%v", r)
}
}()
return m.next.RemoveAll(ctx, orgId)
}
func (m *recoveringMiddleware) Set(ctx context.Context, orgId string, userId string, role members.Role) (err error) {
logger := m.logger
defer func() {
if r := recover(); r != nil {
logger.Error("panic", zap.Error(fmt.Errorf("%v", r)))
err = fmt.Errorf("%v", r)
}
}()
return m.next.Set(ctx, orgId, userId, role)
}