Skip to content
Snippets Groups Projects
Select Git revision
  • db2d80433ecd72d70ac2df10c8ffb4021821b040
  • master default protected
  • refactor/PRXS-3053-Files
  • feature/PRXS-3143-3235-ReferenceOptions
  • feature/PRXS-3421-ImplementNewRefAPI
  • feature/PRXS-3143-LimitReferenceFields
  • feature/PRXS-3234-FeaturePruneIdents
  • feature/3149-LocaleCodeAsID-Feature
  • feature/PRXS-3383-CollectionsRankSortAPI
  • PRXS-3421-RecursiveReferences
  • feature/PRXS-3383-CollectionsSort
  • feature/3109-SerializeFeature
  • release/0.33
  • feature/3109-RecoverySchema
  • feature/3109-feature
  • fix/PRXS-3369-ValidateFields
  • refactor/PRXS-3306-MovePkgGroup1
  • refactor/6-pkg-refactor-expr
  • fix/PRXS-3360-TemplateBuilderPatch
  • feature/3293-MongoV2
  • feature/3272-GoVersionUp
  • v0.33.1
  • v0.32.0
  • v0.31.1
  • v0.31.0
  • v0.30.0
  • v0.29.0
  • v0.28.0
  • v0.27.0-alpha.1+16
  • v0.27.0-alpha.1+15
  • v0.27.0-alpha.1+14
  • v0.27.0-alpha.1+13
  • v0.27.0-alpha.1+12
  • v0.27.0-alpha.1+11
  • v0.27.0-alpha.1+10
  • v0.27.0-alpha.1+9
  • v0.27.0-alpha.1+8
  • v0.27.0-alpha.1+7
  • v0.27.0-alpha.1+6
  • v0.27.0-alpha.1+5
  • v0.27.0-alpha.1+4
41 results

client_encode_middleware.go

Blame
  • access_logging_middleware.go 5.70 KiB
    // Code generated by gowrap. DO NOT EDIT.
    // template: ../../../assets/templates/middleware/access_log.tmpl
    // gowrap: http://github.com/hexdigest/gowrap
    
    package middleware
    
    //go:generate gowrap gen -p git.perx.ru/perxis/perxis-go/pkg/spaces -i Spaces -t ../../../assets/templates/middleware/access_log.tmpl -o access_logging_middleware.go -l ""
    
    import (
    	"context"
    	"time"
    
    	"git.perx.ru/perxis/perxis-go/pkg/auth"
    	"git.perx.ru/perxis/perxis-go/pkg/spaces"
    	"go.uber.org/zap"
    )
    
    // accessLoggingMiddleware implements spaces.Spaces that is instrumented with logging
    type accessLoggingMiddleware struct {
    	logger *zap.Logger
    	next   spaces.Spaces
    }
    
    // AccessLoggingMiddleware instruments an implementation of the spaces.Spaces with simple logging
    func AccessLoggingMiddleware(logger *zap.Logger) Middleware {
    	return func(next spaces.Spaces) spaces.Spaces {
    		return &accessLoggingMiddleware{
    			next:   next,
    			logger: logger,
    		}
    	}
    }
    
    func (m *accessLoggingMiddleware) AbortTransfer(ctx context.Context, spaceID string) (err error) {
    	begin := time.Now()
    
    	m.logger.Debug("AbortTransfer.Request",
    		zap.Reflect("principal", auth.GetPrincipal(ctx)),
    		zap.Reflect("spaceID", spaceID),
    	)
    
    	err = m.next.AbortTransfer(ctx, spaceID)
    
    	m.logger.Debug("AbortTransfer.Response",
    		zap.Duration("time", time.Since(begin)),
    		zap.Error(err),
    	)
    
    	return err
    }
    
    func (m *accessLoggingMiddleware) Create(ctx context.Context, space *spaces.Space) (created *spaces.Space, err error) {
    	begin := time.Now()
    
    	m.logger.Debug("Create.Request",
    		zap.Reflect("principal", auth.GetPrincipal(ctx)),
    		zap.Reflect("space", space),
    	)
    
    	created, err = m.next.Create(ctx, space)
    
    	m.logger.Debug("Create.Response",
    		zap.Duration("time", time.Since(begin)),
    		zap.Reflect("created", created),
    		zap.Error(err),
    	)
    
    	return created, err
    }
    
    func (m *accessLoggingMiddleware) Delete(ctx context.Context, spaceId string) (err error) {
    	begin := time.Now()
    
    	m.logger.Debug("Delete.Request",
    		zap.Reflect("principal", auth.GetPrincipal(ctx)),
    		zap.Reflect("spaceId", spaceId),
    	)
    
    	err = m.next.Delete(ctx, spaceId)
    
    	m.logger.Debug("Delete.Response",
    		zap.Duration("time", time.Since(begin)),
    		zap.Error(err),
    	)
    
    	return err
    }
    
    func (m *accessLoggingMiddleware) Get(ctx context.Context, spaceId string) (space *spaces.Space, err error) {
    	begin := time.Now()
    
    	m.logger.Debug("Get.Request",
    		zap.Reflect("principal", auth.GetPrincipal(ctx)),
    		zap.Reflect("spaceId", spaceId),
    	)
    
    	space, err = m.next.Get(ctx, spaceId)
    
    	m.logger.Debug("Get.Response",
    		zap.Duration("time", time.Since(begin)),
    		zap.Reflect("space", space),
    		zap.Error(err),
    	)
    
    	return space, err
    }
    
    func (m *accessLoggingMiddleware) List(ctx context.Context, orgId string) (spaces []*spaces.Space, err error) {
    	begin := time.Now()
    
    	m.logger.Debug("List.Request",
    		zap.Reflect("principal", auth.GetPrincipal(ctx)),
    		zap.Reflect("orgId", orgId),
    	)
    
    	spaces, err = m.next.List(ctx, orgId)
    
    	m.logger.Debug("List.Response",
    		zap.Duration("time", time.Since(begin)),
    		zap.Reflect("spaces", spaces),
    		zap.Error(err),
    	)
    
    	return spaces, err
    }
    
    func (m *accessLoggingMiddleware) ListTransfers(ctx context.Context, orgID string) (spaces []*spaces.Space, err error) {
    	begin := time.Now()
    
    	m.logger.Debug("ListTransfers.Request",
    		zap.Reflect("principal", auth.GetPrincipal(ctx)),
    		zap.Reflect("orgID", orgID),
    	)
    
    	spaces, err = m.next.ListTransfers(ctx, orgID)
    
    	m.logger.Debug("ListTransfers.Response",
    		zap.Duration("time", time.Since(begin)),
    		zap.Reflect("spaces", spaces),
    		zap.Error(err),
    	)
    
    	return spaces, err
    }
    
    func (m *accessLoggingMiddleware) Move(ctx context.Context, spaceID string, orgID string) (err error) {
    	begin := time.Now()
    
    	m.logger.Debug("Move.Request",
    		zap.Reflect("principal", auth.GetPrincipal(ctx)),
    		zap.Reflect("spaceID", spaceID),
    		zap.Reflect("orgID", orgID),
    	)
    
    	err = m.next.Move(ctx, spaceID, orgID)
    
    	m.logger.Debug("Move.Response",
    		zap.Duration("time", time.Since(begin)),
    		zap.Error(err),
    	)
    
    	return err
    }
    
    func (m *accessLoggingMiddleware) Transfer(ctx context.Context, spaceID string, transferToOrg string) (err error) {
    	begin := time.Now()
    
    	m.logger.Debug("Transfer.Request",
    		zap.Reflect("principal", auth.GetPrincipal(ctx)),
    		zap.Reflect("spaceID", spaceID),
    		zap.Reflect("transferToOrg", transferToOrg),
    	)
    
    	err = m.next.Transfer(ctx, spaceID, transferToOrg)
    
    	m.logger.Debug("Transfer.Response",
    		zap.Duration("time", time.Since(begin)),
    		zap.Error(err),
    	)
    
    	return err
    }
    
    func (m *accessLoggingMiddleware) Update(ctx context.Context, space *spaces.Space) (err error) {
    	begin := time.Now()
    
    	m.logger.Debug("Update.Request",
    		zap.Reflect("principal", auth.GetPrincipal(ctx)),
    		zap.Reflect("space", space),
    	)
    
    	err = m.next.Update(ctx, space)
    
    	m.logger.Debug("Update.Response",
    		zap.Duration("time", time.Since(begin)),
    		zap.Error(err),
    	)
    
    	return err
    }
    
    func (m *accessLoggingMiddleware) UpdateConfig(ctx context.Context, spaceId string, config *spaces.Config) (err error) {
    	begin := time.Now()
    
    	m.logger.Debug("UpdateConfig.Request",
    		zap.Reflect("principal", auth.GetPrincipal(ctx)),
    		zap.Reflect("spaceId", spaceId),
    		zap.Reflect("config", config),
    	)
    
    	err = m.next.UpdateConfig(ctx, spaceId, config)
    
    	m.logger.Debug("UpdateConfig.Response",
    		zap.Duration("time", time.Since(begin)),
    		zap.Error(err),
    	)
    
    	return err
    }
    
    func (m *accessLoggingMiddleware) SetState(ctx context.Context, spaceID string, state *spaces.StateInfo) (err error) {
    	begin := time.Now()
    
    	m.logger.Debug("SetState.Request",
    		zap.Reflect("principal", auth.GetPrincipal(ctx)),
    		zap.Reflect("spaceID", spaceID),
    		zap.Reflect("state", state),
    	)
    
    	err = m.next.SetState(ctx, spaceID, state)
    
    	m.logger.Debug("SetState.Response",
    		zap.Duration("time", time.Since(begin)),
    		zap.Error(err),
    	)
    
    	return err
    }