Fixed a bug when no per page number was supplied
This commit is contained in:
parent
bce8b50520
commit
502bbbbd9d
|
@ -47,22 +47,27 @@ func (c *WebHandler) ReadAllWeb(ctx echo.Context) error {
|
|||
return echo.NewHTTPError(http.StatusBadRequest, "Bad page requested.")
|
||||
}
|
||||
if pageNumber < 0 {
|
||||
return echo.NewHTTPError(http.StatusBadRequest, "Bad page requested.")
|
||||
return echo.NewHTTPError(http.StatusBadRequest, "Page number cannot be negative.")
|
||||
}
|
||||
|
||||
// Items per page
|
||||
var perPageNumber int
|
||||
perPage := ctx.QueryParam("per_page")
|
||||
perPageNumber, err := strconv.Atoi(perPage)
|
||||
if err != nil {
|
||||
config.LoggingProvider.Error(err.Error())
|
||||
return echo.NewHTTPError(http.StatusBadRequest, "Bad per page amount requested.")
|
||||
// If we dont have an "items per page" parameter, we want to use the default.
|
||||
// To prevent Atoi from failing, we check this here.
|
||||
if perPage != "" {
|
||||
perPageNumber, err = strconv.Atoi(perPage)
|
||||
if err != nil {
|
||||
config.LoggingProvider.Error(err.Error())
|
||||
return echo.NewHTTPError(http.StatusBadRequest, "Bad per page amount requested.")
|
||||
}
|
||||
}
|
||||
// Set default page count
|
||||
if perPageNumber == 0 {
|
||||
perPageNumber = config.MaxItemsPerPage
|
||||
}
|
||||
if perPageNumber < 1 {
|
||||
return echo.NewHTTPError(http.StatusBadRequest, "Bad per page amount requested.")
|
||||
return echo.NewHTTPError(http.StatusBadRequest, "Per page amount cannot be negative.")
|
||||
}
|
||||
if perPageNumber > config.MaxItemsPerPage {
|
||||
perPageNumber = config.MaxItemsPerPage
|
||||
|
|
Loading…
Reference in New Issue