mirror of
https://github.com/redis/go-redis.git
synced 2025-07-29 17:41:15 +03:00
Call all After* hooks and return first error
This commit is contained in:
14
redis.go
14
redis.go
@ -66,14 +66,15 @@ func (hs hooks) beforeProcess(ctx context.Context, cmd Cmder) (context.Context,
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (hs hooks) afterProcess(ctx context.Context, cmd Cmder) (context.Context, error) {
|
func (hs hooks) afterProcess(ctx context.Context, cmd Cmder) (context.Context, error) {
|
||||||
|
var firstErr error
|
||||||
for _, h := range hs.hooks {
|
for _, h := range hs.hooks {
|
||||||
var err error
|
var err error
|
||||||
ctx, err = h.AfterProcess(ctx, cmd)
|
ctx, err = h.AfterProcess(ctx, cmd)
|
||||||
if err != nil {
|
if err != nil && firstErr == nil {
|
||||||
return nil, err
|
firstErr = err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return ctx, nil
|
return ctx, firstErr
|
||||||
}
|
}
|
||||||
|
|
||||||
func (hs hooks) processPipeline(
|
func (hs hooks) processPipeline(
|
||||||
@ -106,14 +107,15 @@ func (hs hooks) beforeProcessPipeline(ctx context.Context, cmds []Cmder) (contex
|
|||||||
}
|
}
|
||||||
|
|
||||||
func (hs hooks) afterProcessPipeline(ctx context.Context, cmds []Cmder) (context.Context, error) {
|
func (hs hooks) afterProcessPipeline(ctx context.Context, cmds []Cmder) (context.Context, error) {
|
||||||
|
var firstErr error
|
||||||
for _, h := range hs.hooks {
|
for _, h := range hs.hooks {
|
||||||
var err error
|
var err error
|
||||||
ctx, err = h.AfterProcessPipeline(ctx, cmds)
|
ctx, err = h.AfterProcessPipeline(ctx, cmds)
|
||||||
if err != nil {
|
if err != nil && firstErr == nil {
|
||||||
return nil, err
|
firstErr = err
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
return ctx, nil
|
return ctx, firstErr
|
||||||
}
|
}
|
||||||
|
|
||||||
//------------------------------------------------------------------------------
|
//------------------------------------------------------------------------------
|
||||||
|
Reference in New Issue
Block a user