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
}