@@ -15,51 +15,47 @@ import (
15
15
// errors in 1 sweep. This means all invalid fields are returned at once,
16
16
// rather than only returning the first error
17
17
type QueryParamParser struct {
18
- errors []Error
18
+ // Errors is the set of errors to return via the API. If the length
19
+ // of this set is 0, there are no errors!.
20
+ Errors []Error
19
21
}
20
22
21
23
func NewQueryParamParser () * QueryParamParser {
22
24
return & QueryParamParser {
23
- errors : []Error {},
25
+ Errors : []Error {},
24
26
}
25
27
}
26
28
27
- // ValidationErrors is the set of errors to return via the API. If the length
28
- // of this set is 0, there was no errors.
29
- func (p QueryParamParser ) ValidationErrors () []Error {
30
- return p .errors
31
- }
32
-
33
- func (p * QueryParamParser ) ParseInteger (r * http.Request , def int , queryParam string ) int {
29
+ func (p * QueryParamParser ) Integer (r * http.Request , def int , queryParam string ) int {
34
30
v , err := parse (r , strconv .Atoi , def , queryParam )
35
31
if err != nil {
36
- p .errors = append (p .errors , Error {
32
+ p .Errors = append (p .Errors , Error {
37
33
Field : queryParam ,
38
34
Detail : fmt .Sprintf ("Query param %q must be a valid integer (%s)" , queryParam , err .Error ()),
39
35
})
40
36
}
41
37
return v
42
38
}
43
39
44
- func (p * QueryParamParser ) ParseUUIDorMe (r * http.Request , def uuid.UUID , me uuid.UUID , queryParam string ) uuid.UUID {
40
+ func (p * QueryParamParser ) UUIDorMe (r * http.Request , def uuid.UUID , me uuid.UUID , queryParam string ) uuid.UUID {
45
41
if r .URL .Query ().Get (queryParam ) == "me" {
46
42
return me
47
43
}
48
- return p .ParseUUID (r , def , queryParam )
44
+ return p .UUID (r , def , queryParam )
49
45
}
50
46
51
- func (p * QueryParamParser ) ParseUUID (r * http.Request , def uuid.UUID , queryParam string ) uuid.UUID {
47
+ func (p * QueryParamParser ) UUID (r * http.Request , def uuid.UUID , queryParam string ) uuid.UUID {
52
48
v , err := parse (r , uuid .Parse , def , queryParam )
53
49
if err != nil {
54
- p .errors = append (p .errors , Error {
50
+ p .Errors = append (p .Errors , Error {
55
51
Field : queryParam ,
56
52
Detail : fmt .Sprintf ("Query param %q must be a valid uuid" , queryParam ),
57
53
})
58
54
}
59
55
return v
60
56
}
61
57
62
- func (p * QueryParamParser ) ParseUUIDArray (r * http.Request , def []uuid.UUID , queryParam string ) []uuid.UUID {
58
+ func (p * QueryParamParser ) UUIDArray (r * http.Request , def []uuid.UUID , queryParam string ) []uuid.UUID {
63
59
v , err := parse (r , func (v string ) ([]uuid.UUID , error ) {
64
60
var badValues []string
65
61
strs := strings .Split (v , "," )
@@ -79,20 +75,20 @@ func (p *QueryParamParser) ParseUUIDArray(r *http.Request, def []uuid.UUID, quer
79
75
return ids , nil
80
76
}, def , queryParam )
81
77
if err != nil {
82
- p .errors = append (p .errors , Error {
78
+ p .Errors = append (p .Errors , Error {
83
79
Field : queryParam ,
84
80
Detail : fmt .Sprintf ("Query param %q has invalid uuids: %q" , queryParam , err .Error ()),
85
81
})
86
82
}
87
83
return v
88
84
}
89
85
90
- func (p * QueryParamParser ) ParseString (r * http.Request , def string , queryParam string ) string {
86
+ func (p * QueryParamParser ) String (r * http.Request , def string , queryParam string ) string {
91
87
v , err := parse (r , func (v string ) (string , error ) {
92
88
return v , nil
93
89
}, def , queryParam )
94
90
if err != nil {
95
- p .errors = append (p .errors , Error {
91
+ p .Errors = append (p .Errors , Error {
96
92
Field : queryParam ,
97
93
Detail : fmt .Sprintf ("Query param %q must be a valid string" , queryParam ),
98
94
})
0 commit comments