25 lines
369 B
Go
25 lines
369 B
Go
package rest
|
|
|
|
import (
|
|
"fmt"
|
|
"net/http"
|
|
"strconv"
|
|
)
|
|
|
|
func IntParam(r *http.Request, key string) (val int, err error) {
|
|
str := r.URL.Query().Get(key)
|
|
if str == "" {
|
|
return
|
|
}
|
|
|
|
val, err = strconv.Atoi(str)
|
|
if err != nil {
|
|
err = WrappErr(
|
|
err,
|
|
ErrorTypeValidation,
|
|
fmt.Sprintf("failed to parse query parameter '%s': not an int", key),
|
|
)
|
|
}
|
|
return
|
|
}
|