You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
33 lines
621 B
33 lines
621 B
package redis |
|
|
|
import ( |
|
"strings" |
|
|
|
pkgerr "github.com/pkg/errors" |
|
) |
|
|
|
func formatErr(err error) string { |
|
e := pkgerr.Cause(err) |
|
switch e { |
|
case ErrNil, nil: |
|
return "" |
|
default: |
|
es := e.Error() |
|
switch { |
|
case strings.HasPrefix(es, "read"): |
|
return "read timeout" |
|
case strings.HasPrefix(es, "dial"): |
|
return "dial timeout" |
|
case strings.HasPrefix(es, "write"): |
|
return "write timeout" |
|
case strings.Contains(es, "EOF"): |
|
return "eof" |
|
case strings.Contains(es, "reset"): |
|
return "reset" |
|
case strings.Contains(es, "broken"): |
|
return "broken pipe" |
|
default: |
|
return "unexpected err" |
|
} |
|
} |
|
}
|
|
|