Select Git revision
client_encode_middleware.go
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
}