...
1 package client
2
3 import (
4 "strings"
5 )
6
7 type ApiCallError []ApiCallRc
8
9 func (e ApiCallError) Error() string {
10 var finalErr string
11 for i, r := range e {
12 finalErr += strings.TrimSpace(r.String())
13 if i < len(e)-1 {
14 finalErr += " next error: "
15 }
16 }
17 return finalErr
18 }
19
20
21
22 func (e ApiCallError) Is(mask uint64) bool {
23 for _, r := range e {
24 if r.Is(mask) {
25 return true
26 }
27 }
28
29 return false
30 }
31
32
33
34
35
36
37 func (r ApiCallRc) Is(mask uint64) bool { return (uint64(r.RetCode) & mask) == mask }
38
39
40 func IsApiCallError(err error, mask uint64) bool {
41 e, ok := err.(ApiCallError)
42 if !ok {
43 return false
44 }
45
46 return e.Is(mask)
47 }
48
View as plain text