Skip to content
Snippets Groups Projects
Select Git revision
  • b7dd55d7208b3c99901dc77ef15f63a8e2b5cbb2
  • master default protected
  • bugfix/fix-return-var-in-find
  • feature/upgrade2
  • v1.11.0
  • v1.10.0
  • v1.8.2
  • v1.8.1
  • v1.8.0
  • 1.7.3
  • v1.7.1
  • v1.6.1
  • v1.6.0
  • v1.5.0
  • v1.4.1
  • v1.3.0
  • v1.2.2
  • v1.2.1
  • v1.2.0
  • v1.0.1
  • v1.0.0
  • v0.0.23
  • v0.0.17
  • v0.0.10
24 results

build-requirements.txt

Blame
  • This project manages its dependencies using pip. Learn more
    recovering_middleware.go 2.56 KiB
    // Code generated by gowrap. DO NOT EDIT.
    // template: ../../../assets/templates/middleware/recovery
    // gowrap: http://github.com/hexdigest/gowrap
    
    package middleware
    
    //go:generate gowrap gen -p git.perx.ru/perxis/perxis-go/organizations -i Organizations -t ../../../assets/templates/middleware/recovery -o recovering_middleware.go -l ""
    
    import (
    	"context"
    	"fmt"
    
    	"git.perx.ru/perxis/perxis-go/organizations"
    	"git.perx.ru/perxis/perxis-go/pkg/options"
    	"go.uber.org/zap"
    )
    
    // recoveringMiddleware implements organizations.Organizations that is instrumented with logging
    type recoveringMiddleware struct {
    	logger *zap.Logger
    	next   organizations.Organizations
    }
    
    // RecoveringMiddleware instruments an implementation of the organizations.Organizations with simple logging
    func RecoveringMiddleware(logger *zap.Logger) Middleware {
    	return func(next organizations.Organizations) organizations.Organizations {
    		return &recoveringMiddleware{
    			next:   next,
    			logger: logger,
    		}
    	}
    }
    
    func (m *recoveringMiddleware) Create(ctx context.Context, org *organizations.Organization) (created *organizations.Organization, 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.Create(ctx, org)
    }
    
    func (m *recoveringMiddleware) Delete(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.Delete(ctx, orgId)
    }
    
    func (m *recoveringMiddleware) Find(ctx context.Context, filter *organizations.Filter, opts *options.FindOptions) (orgs []*organizations.Organization, total int, 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.Find(ctx, filter, opts)
    }
    
    func (m *recoveringMiddleware) Get(ctx context.Context, orgId string) (org *organizations.Organization, 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)
    }
    
    func (m *recoveringMiddleware) Update(ctx context.Context, org *organizations.Organization) (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.Update(ctx, org)
    }