You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

52 lines
1.1 KiB

package api
import (
"net/http"
"git.brettb.xyz/goinv/server/internal/types"
"github.com/go-chi/render"
)
var errNotFound = &types.APIError{
Response: &types.Response{
HTTPStatusCode: http.StatusNotFound,
},
Messages: []string{"resource not found"},
}
var errUnprocessable = &types.APIError{
Response: &types.Response{
HTTPStatusCode: http.StatusUnprocessableEntity,
},
Messages: []string{"unable to process"},
}
func errBadRequest(err error) render.Renderer {
return &types.APIError{
Response: &types.Response{
HTTPStatusCode: http.StatusBadRequest,
},
Err: err,
Messages: []string{"bad request"},
}
}
func errRender(err error) render.Renderer {
return &types.APIError{
Response: &types.Response{
HTTPStatusCode: http.StatusUnprocessableEntity,
},
Err: err,
Messages: []string{"error rendering response"},
}
}
func errUnauthorized(err error) render.Renderer {
return &types.APIError{
Response: &types.Response{
HTTPStatusCode: http.StatusUnauthorized,
},
Err: err,
Messages: []string{"unauthorized"},
}
}