Blame internal/weldr/util.go
|
Packit |
63bb0d |
package weldr
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
import (
|
|
Packit |
63bb0d |
"errors"
|
|
Packit |
63bb0d |
"net/url"
|
|
Packit |
63bb0d |
"strconv"
|
|
Packit |
63bb0d |
)
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func parseOffsetAndLimit(query url.Values) (uint, uint, error) {
|
|
Packit |
63bb0d |
var offset, limit uint64 = 0, 20
|
|
Packit |
63bb0d |
var err error
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
if v := query.Get("offset"); v != "" {
|
|
Packit |
63bb0d |
offset, err = strconv.ParseUint(v, 10, 64)
|
|
Packit |
63bb0d |
if err != nil {
|
|
Packit |
63bb0d |
return 0, 0, errors.New("invalid value for 'offset': " + err.Error())
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
if v := query.Get("limit"); v != "" {
|
|
Packit |
63bb0d |
limit, err = strconv.ParseUint(v, 10, 64)
|
|
Packit |
63bb0d |
if err != nil {
|
|
Packit |
63bb0d |
return 0, 0, errors.New("invalid value for 'limit': " + err.Error())
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
return uint(offset), uint(limit), nil
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
|
|
Packit |
63bb0d |
func min(a, b uint) uint {
|
|
Packit |
63bb0d |
if a < b {
|
|
Packit |
63bb0d |
return a
|
|
Packit |
63bb0d |
}
|
|
Packit |
63bb0d |
return b
|
|
Packit |
63bb0d |
}
|