OLD | NEW |
| (Empty) |
1 // Copyright 2015 The LUCI Authors. | |
2 // | |
3 // Licensed under the Apache License, Version 2.0 (the "License"); | |
4 // you may not use this file except in compliance with the License. | |
5 // You may obtain a copy of the License at | |
6 // | |
7 // http://www.apache.org/licenses/LICENSE-2.0 | |
8 // | |
9 // Unless required by applicable law or agreed to in writing, software | |
10 // distributed under the License is distributed on an "AS IS" BASIS, | |
11 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. | |
12 // See the License for the specific language governing permissions and | |
13 // limitations under the License. | |
14 | |
15 package common | |
16 | |
17 import ( | |
18 "fmt" | |
19 "net/http" | |
20 "strconv" | |
21 ) | |
22 | |
23 // GetLimit extracts the "limit", "numbuilds", or "num_builds" http param from | |
24 // the request, or returns "-1" implying no limit was specified. | |
25 func GetLimit(r *http.Request) (int, error) { | |
26 sLimit := r.FormValue("limit") | |
27 if sLimit == "" { | |
28 sLimit = r.FormValue("numbuilds") | |
29 if sLimit == "" { | |
30 sLimit = r.FormValue("num_builds") | |
31 if sLimit == "" { | |
32 return -1, nil | |
33 } | |
34 } | |
35 } | |
36 limit, err := strconv.Atoi(sLimit) | |
37 if err != nil { | |
38 return -1, fmt.Errorf("limit parameter value %q is not a number:
%s", sLimit, err) | |
39 } | |
40 if limit < 0 { | |
41 return -1, fmt.Errorf("limit parameter value %q is less than 0",
sLimit) | |
42 } | |
43 return limit, nil | |
44 } | |
OLD | NEW |