Skip to content

Commit 68dd70b

Browse files
authored
Merge pull request #1255 from git-hulk/master
Exported the setErr function as public
2 parents a579d58 + efeb0a2 commit 68dd70b

File tree

8 files changed

+44
-35
lines changed

8 files changed

+44
-35
lines changed

cluster.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -743,7 +743,7 @@ func (c *ClusterClient) ProcessContext(ctx context.Context, cmd Cmder) error {
743743
func (c *ClusterClient) process(ctx context.Context, cmd Cmder) error {
744744
err := c._process(ctx, cmd)
745745
if err != nil {
746-
cmd.setErr(err)
746+
cmd.SetErr(err)
747747
return err
748748
}
749749
return nil

cluster_commands.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ func (c *ClusterClient) DBSize() *IntCmd {
1414
return nil
1515
})
1616
if err != nil {
17-
cmd.setErr(err)
17+
cmd.SetErr(err)
1818
return cmd
1919
}
2020
cmd.val = size

command.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,14 @@ type Cmder interface {
2020
readTimeout() *time.Duration
2121
readReply(rd *proto.Reader) error
2222

23-
setErr(error)
23+
SetErr(error)
2424
Err() error
2525
}
2626

2727
func setCmdsErr(cmds []Cmder, e error) {
2828
for _, cmd := range cmds {
2929
if cmd.Err() == nil {
30-
cmd.setErr(e)
30+
cmd.SetErr(e)
3131
}
3232
}
3333
}
@@ -119,7 +119,7 @@ func (cmd *baseCmd) stringArg(pos int) string {
119119
return s
120120
}
121121

122-
func (cmd *baseCmd) setErr(e error) {
122+
func (cmd *baseCmd) SetErr(e error) {
123123
cmd.err = e
124124
}
125125

command_test.go

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
11
package redis_test
22

33
import (
4+
"errors"
45
"time"
56

6-
"github.com/go-redis/redis/v7"
7+
redis "github.com/go-redis/redis/v7"
78

89
. "github.com/onsi/ginkgo"
910
. "github.com/onsi/gomega"
@@ -84,4 +85,12 @@ var _ = Describe("Cmd", func() {
8485
Expect(err).NotTo(HaveOccurred())
8586
Expect(tm2).To(BeTemporally("==", tm))
8687
})
88+
89+
It("allow to set custom error", func() {
90+
e := errors.New("custom error")
91+
cmd := redis.Cmd{}
92+
cmd.SetErr(e)
93+
_, err := cmd.Result()
94+
Expect(err).To(Equal(e))
95+
})
8796
})

commands.go

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -2537,7 +2537,7 @@ func (c cmdable) GeoAdd(key string, geoLocation ...*GeoLocation) *IntCmd {
25372537
func (c cmdable) GeoRadius(key string, longitude, latitude float64, query *GeoRadiusQuery) *GeoLocationCmd {
25382538
cmd := NewGeoLocationCmd(query, "georadius_ro", key, longitude, latitude)
25392539
if query.Store != "" || query.StoreDist != "" {
2540-
cmd.setErr(errors.New("GeoRadius does not support Store or StoreDist"))
2540+
cmd.SetErr(errors.New("GeoRadius does not support Store or StoreDist"))
25412541
return cmd
25422542
}
25432543
_ = c(cmd)
@@ -2549,7 +2549,7 @@ func (c cmdable) GeoRadiusStore(key string, longitude, latitude float64, query *
25492549
args := geoLocationArgs(query, "georadius", key, longitude, latitude)
25502550
cmd := NewIntCmd(args...)
25512551
if query.Store == "" && query.StoreDist == "" {
2552-
cmd.setErr(errors.New("GeoRadiusStore requires Store or StoreDist"))
2552+
cmd.SetErr(errors.New("GeoRadiusStore requires Store or StoreDist"))
25532553
return cmd
25542554
}
25552555
_ = c(cmd)
@@ -2560,7 +2560,7 @@ func (c cmdable) GeoRadiusStore(key string, longitude, latitude float64, query *
25602560
func (c cmdable) GeoRadiusByMember(key, member string, query *GeoRadiusQuery) *GeoLocationCmd {
25612561
cmd := NewGeoLocationCmd(query, "georadiusbymember_ro", key, member)
25622562
if query.Store != "" || query.StoreDist != "" {
2563-
cmd.setErr(errors.New("GeoRadiusByMember does not support Store or StoreDist"))
2563+
cmd.SetErr(errors.New("GeoRadiusByMember does not support Store or StoreDist"))
25642564
return cmd
25652565
}
25662566
_ = c(cmd)
@@ -2572,7 +2572,7 @@ func (c cmdable) GeoRadiusByMemberStore(key, member string, query *GeoRadiusQuer
25722572
args := geoLocationArgs(query, "georadiusbymember", key, member)
25732573
cmd := NewIntCmd(args...)
25742574
if query.Store == "" && query.StoreDist == "" {
2575-
cmd.setErr(errors.New("GeoRadiusByMemberStore requires Store or StoreDist"))
2575+
cmd.SetErr(errors.New("GeoRadiusByMemberStore requires Store or StoreDist"))
25762576
return cmd
25772577
}
25782578
_ = c(cmd)

redis.go

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,14 +51,14 @@ func (hs hooks) process(
5151
) error {
5252
ctx, err := hs.beforeProcess(ctx, cmd)
5353
if err != nil {
54-
cmd.setErr(err)
54+
cmd.SetErr(err)
5555
return err
5656
}
5757

5858
cmdErr := fn(ctx, cmd)
5959

6060
if err := hs.afterProcess(ctx, cmd); err != nil {
61-
cmd.setErr(err)
61+
cmd.SetErr(err)
6262
return err
6363
}
6464

@@ -287,7 +287,7 @@ func (c *baseClient) withConn(
287287
func (c *baseClient) process(ctx context.Context, cmd Cmder) error {
288288
err := c._process(ctx, cmd)
289289
if err != nil {
290-
cmd.setErr(err)
290+
cmd.SetErr(err)
291291
return err
292292
}
293293
return nil

result.go

Lines changed: 21 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -6,111 +6,111 @@ import "time"
66
func NewCmdResult(val interface{}, err error) *Cmd {
77
var cmd Cmd
88
cmd.val = val
9-
cmd.setErr(err)
9+
cmd.SetErr(err)
1010
return &cmd
1111
}
1212

1313
// NewSliceResult returns a SliceCmd initialised with val and err for testing
1414
func NewSliceResult(val []interface{}, err error) *SliceCmd {
1515
var cmd SliceCmd
1616
cmd.val = val
17-
cmd.setErr(err)
17+
cmd.SetErr(err)
1818
return &cmd
1919
}
2020

2121
// NewStatusResult returns a StatusCmd initialised with val and err for testing
2222
func NewStatusResult(val string, err error) *StatusCmd {
2323
var cmd StatusCmd
2424
cmd.val = val
25-
cmd.setErr(err)
25+
cmd.SetErr(err)
2626
return &cmd
2727
}
2828

2929
// NewIntResult returns an IntCmd initialised with val and err for testing
3030
func NewIntResult(val int64, err error) *IntCmd {
3131
var cmd IntCmd
3232
cmd.val = val
33-
cmd.setErr(err)
33+
cmd.SetErr(err)
3434
return &cmd
3535
}
3636

3737
// NewDurationResult returns a DurationCmd initialised with val and err for testing
3838
func NewDurationResult(val time.Duration, err error) *DurationCmd {
3939
var cmd DurationCmd
4040
cmd.val = val
41-
cmd.setErr(err)
41+
cmd.SetErr(err)
4242
return &cmd
4343
}
4444

4545
// NewBoolResult returns a BoolCmd initialised with val and err for testing
4646
func NewBoolResult(val bool, err error) *BoolCmd {
4747
var cmd BoolCmd
4848
cmd.val = val
49-
cmd.setErr(err)
49+
cmd.SetErr(err)
5050
return &cmd
5151
}
5252

5353
// NewStringResult returns a StringCmd initialised with val and err for testing
5454
func NewStringResult(val string, err error) *StringCmd {
5555
var cmd StringCmd
5656
cmd.val = val
57-
cmd.setErr(err)
57+
cmd.SetErr(err)
5858
return &cmd
5959
}
6060

6161
// NewFloatResult returns a FloatCmd initialised with val and err for testing
6262
func NewFloatResult(val float64, err error) *FloatCmd {
6363
var cmd FloatCmd
6464
cmd.val = val
65-
cmd.setErr(err)
65+
cmd.SetErr(err)
6666
return &cmd
6767
}
6868

6969
// NewStringSliceResult returns a StringSliceCmd initialised with val and err for testing
7070
func NewStringSliceResult(val []string, err error) *StringSliceCmd {
7171
var cmd StringSliceCmd
7272
cmd.val = val
73-
cmd.setErr(err)
73+
cmd.SetErr(err)
7474
return &cmd
7575
}
7676

7777
// NewBoolSliceResult returns a BoolSliceCmd initialised with val and err for testing
7878
func NewBoolSliceResult(val []bool, err error) *BoolSliceCmd {
7979
var cmd BoolSliceCmd
8080
cmd.val = val
81-
cmd.setErr(err)
81+
cmd.SetErr(err)
8282
return &cmd
8383
}
8484

8585
// NewStringStringMapResult returns a StringStringMapCmd initialised with val and err for testing
8686
func NewStringStringMapResult(val map[string]string, err error) *StringStringMapCmd {
8787
var cmd StringStringMapCmd
8888
cmd.val = val
89-
cmd.setErr(err)
89+
cmd.SetErr(err)
9090
return &cmd
9191
}
9292

9393
// NewStringIntMapCmdResult returns a StringIntMapCmd initialised with val and err for testing
9494
func NewStringIntMapCmdResult(val map[string]int64, err error) *StringIntMapCmd {
9595
var cmd StringIntMapCmd
9696
cmd.val = val
97-
cmd.setErr(err)
97+
cmd.SetErr(err)
9898
return &cmd
9999
}
100100

101101
// NewZSliceCmdResult returns a ZSliceCmd initialised with val and err for testing
102102
func NewZSliceCmdResult(val []Z, err error) *ZSliceCmd {
103103
var cmd ZSliceCmd
104104
cmd.val = val
105-
cmd.setErr(err)
105+
cmd.SetErr(err)
106106
return &cmd
107107
}
108108

109109
// NewZWithKeyCmdResult returns a NewZWithKeyCmd initialised with val and err for testing
110110
func NewZWithKeyCmdResult(val *ZWithKey, err error) *ZWithKeyCmd {
111111
var cmd ZWithKeyCmd
112112
cmd.val = val
113-
cmd.setErr(err)
113+
cmd.SetErr(err)
114114
return &cmd
115115
}
116116

@@ -119,54 +119,54 @@ func NewScanCmdResult(keys []string, cursor uint64, err error) *ScanCmd {
119119
var cmd ScanCmd
120120
cmd.page = keys
121121
cmd.cursor = cursor
122-
cmd.setErr(err)
122+
cmd.SetErr(err)
123123
return &cmd
124124
}
125125

126126
// NewClusterSlotsCmdResult returns a ClusterSlotsCmd initialised with val and err for testing
127127
func NewClusterSlotsCmdResult(val []ClusterSlot, err error) *ClusterSlotsCmd {
128128
var cmd ClusterSlotsCmd
129129
cmd.val = val
130-
cmd.setErr(err)
130+
cmd.SetErr(err)
131131
return &cmd
132132
}
133133

134134
// NewGeoLocationCmdResult returns a GeoLocationCmd initialised with val and err for testing
135135
func NewGeoLocationCmdResult(val []GeoLocation, err error) *GeoLocationCmd {
136136
var cmd GeoLocationCmd
137137
cmd.locations = val
138-
cmd.setErr(err)
138+
cmd.SetErr(err)
139139
return &cmd
140140
}
141141

142142
// NewGeoPosCmdResult returns a GeoPosCmd initialised with val and err for testing
143143
func NewGeoPosCmdResult(val []*GeoPos, err error) *GeoPosCmd {
144144
var cmd GeoPosCmd
145145
cmd.val = val
146-
cmd.setErr(err)
146+
cmd.SetErr(err)
147147
return &cmd
148148
}
149149

150150
// NewCommandsInfoCmdResult returns a CommandsInfoCmd initialised with val and err for testing
151151
func NewCommandsInfoCmdResult(val map[string]*CommandInfo, err error) *CommandsInfoCmd {
152152
var cmd CommandsInfoCmd
153153
cmd.val = val
154-
cmd.setErr(err)
154+
cmd.SetErr(err)
155155
return &cmd
156156
}
157157

158158
// NewXMessageSliceCmdResult returns a XMessageSliceCmd initialised with val and err for testing
159159
func NewXMessageSliceCmdResult(val []XMessage, err error) *XMessageSliceCmd {
160160
var cmd XMessageSliceCmd
161161
cmd.val = val
162-
cmd.setErr(err)
162+
cmd.SetErr(err)
163163
return &cmd
164164
}
165165

166166
// NewXStreamSliceCmdResult returns a XStreamSliceCmd initialised with val and err for testing
167167
func NewXStreamSliceCmdResult(val []XStream, err error) *XStreamSliceCmd {
168168
var cmd XStreamSliceCmd
169169
cmd.val = val
170-
cmd.setErr(err)
170+
cmd.SetErr(err)
171171
return &cmd
172172
}

ring.go

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -561,7 +561,7 @@ func (c *Ring) cmdShard(cmd Cmder) (*ringShard, error) {
561561
func (c *Ring) process(ctx context.Context, cmd Cmder) error {
562562
err := c._process(ctx, cmd)
563563
if err != nil {
564-
cmd.setErr(err)
564+
cmd.SetErr(err)
565565
return err
566566
}
567567
return nil

0 commit comments

Comments
 (0)