all repos — homestead @ c7165476f375b097761e729ac14f9b8a68af98c6

Code for my website

simplify HTTP error module

Alan Pearce
commit

c7165476f375b097761e729ac14f9b8a68af98c6

parent

8267148e988f22647aa735652dafd06c692b047f

1 file changed, 10 insertions(+), 42 deletions(-)

changed files
M shared/http/error.goshared/http/error.go
@@ -18,7 +18,7 @@ message string
cause error } -func (e *httpError) Error() string { +func (e httpError) Error() string { if e.message == "" { e.message = http.StatusText(e.code) }
@@ -26,11 +26,11 @@
return fmt.Sprintf("%d %s", e.code, e.message) } -func (e *httpError) StatusCode() int { +func (e httpError) StatusCode() int { return e.code } -func (e *httpError) Message() string { +func (e httpError) Message() string { if e.message == "" { e.message = http.StatusText(e.code) }
@@ -38,53 +38,21 @@
return e.message } -func (e *httpError) Unwrap() error { +func (e httpError) Unwrap() error { return e.cause } -func NewError(code int, message string, cause error) Error { - return &httpError{ +func NewError(message string, code int) httpError { + return httpError{ code: code, message: message, - cause: cause, } } -func NotFound(message string) Error { - return &httpError{ - code: http.StatusNotFound, - message: message, - } -} - -func BadRequest(message string, cause error) Error { - return &httpError{ - code: http.StatusBadRequest, - message: message, - cause: cause, - } -} - -func InternalServerError(message string, cause error) Error { - return &httpError{ - code: http.StatusInternalServerError, - message: message, - cause: cause, - } -} - -func Unauthorized(message string, cause error) Error { - return &httpError{ - code: http.StatusUnauthorized, - message: message, - cause: cause, - } -} - -func Forbidden(message string, cause error) Error { - return &httpError{ - code: http.StatusForbidden, - message: message, +func (e httpError) WithCause(cause error) Error { + return httpError{ + code: e.code, + message: e.message, cause: cause, } }