1234567891011121314151617181920212223242526272829303132333435363738394041424344454647 |
- package errors
- import "net/http"
- // apiError is an error wrapper that also
- // holds information about response status codes.
- type apiError struct {
- error
- statusCode int
- }
- // HTTPErrorStatusCode returns a status code.
- func (e apiError) HTTPErrorStatusCode() int {
- return e.statusCode
- }
- // NewErrorWithStatusCode allows you to associate
- // a specific HTTP Status Code to an error.
- // The Server will take that code and set
- // it as the response status.
- func NewErrorWithStatusCode(err error, code int) error {
- return apiError{err, code}
- }
- // NewBadRequestError creates a new API error
- // that has the 400 HTTP status code associated to it.
- func NewBadRequestError(err error) error {
- return NewErrorWithStatusCode(err, http.StatusBadRequest)
- }
- // NewRequestForbiddenError creates a new API error
- // that has the 403 HTTP status code associated to it.
- func NewRequestForbiddenError(err error) error {
- return NewErrorWithStatusCode(err, http.StatusForbidden)
- }
- // NewRequestNotFoundError creates a new API error
- // that has the 404 HTTP status code associated to it.
- func NewRequestNotFoundError(err error) error {
- return NewErrorWithStatusCode(err, http.StatusNotFound)
- }
- // NewRequestConflictError creates a new API error
- // that has the 409 HTTP status code associated to it.
- func NewRequestConflictError(err error) error {
- return NewErrorWithStatusCode(err, http.StatusConflict)
- }
|