5
5
"crypto/sha1"
6
6
"encoding/hex"
7
7
"io"
8
- "strings"
9
8
)
10
9
11
10
type Scripter interface {
@@ -68,7 +67,7 @@ func (s *Script) EvalShaRO(ctx context.Context, c Scripter, keys []string, args
68
67
// it is retried using EVAL.
69
68
func (s * Script ) Run (ctx context.Context , c Scripter , keys []string , args ... interface {}) * Cmd {
70
69
r := s .EvalSha (ctx , c , keys , args ... )
71
- if err := r .Err (); err != nil && strings . HasPrefix ( err . Error () , "NOSCRIPT " ) {
70
+ if HasErrorPrefix ( r .Err (), "NOSCRIPT" ) {
72
71
return s .Eval (ctx , c , keys , args ... )
73
72
}
74
73
return r
@@ -78,7 +77,7 @@ func (s *Script) Run(ctx context.Context, c Scripter, keys []string, args ...int
78
77
// it is retried using EVAL_RO.
79
78
func (s * Script ) RunRO (ctx context.Context , c Scripter , keys []string , args ... interface {}) * Cmd {
80
79
r := s .EvalShaRO (ctx , c , keys , args ... )
81
- if err := r .Err (); err != nil && strings . HasPrefix ( err . Error () , "NOSCRIPT " ) {
80
+ if HasErrorPrefix ( r .Err (), "NOSCRIPT" ) {
82
81
return s .EvalRO (ctx , c , keys , args ... )
83
82
}
84
83
return r
0 commit comments