55 "crypto/sha1"
66 "encoding/hex"
77 "io"
8- "strings"
98)
109
1110type Scripter interface {
@@ -68,7 +67,7 @@ func (s *Script) EvalShaRO(ctx context.Context, c Scripter, keys []string, args
6867// it is retried using EVAL.
6968func (s * Script ) Run (ctx context.Context , c Scripter , keys []string , args ... interface {}) * Cmd {
7069 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" ) {
7271 return s .Eval (ctx , c , keys , args ... )
7372 }
7473 return r
@@ -78,7 +77,7 @@ func (s *Script) Run(ctx context.Context, c Scripter, keys []string, args ...int
7877// it is retried using EVAL_RO.
7978func (s * Script ) RunRO (ctx context.Context , c Scripter , keys []string , args ... interface {}) * Cmd {
8079 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" ) {
8281 return s .EvalRO (ctx , c , keys , args ... )
8382 }
8483 return r
0 commit comments