From fa1f88887a090c4809d0d73a32be424e61d2eaf4 Mon Sep 17 00:00:00 2001 From: Golf Sinteppadon Date: Thu, 3 Aug 2017 15:37:01 -0700 Subject: [PATCH] ServeError should propertly set headers --- apiutils.go | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/apiutils.go b/apiutils.go index 9f972be..ffb4095 100644 --- a/apiutils.go +++ b/apiutils.go @@ -68,6 +68,14 @@ func NewErrorResponse(status int, message string) ErrorResponse { } func ServeJSON(w http.ResponseWriter, v interface{}) { + serve(w, v, http.StatusOK) +} + +func ServeError(w http.ResponseWriter, errRes ErrorResponse) { + serve(w, errRes, errRes.Status) +} + +func serve(w http.ResponseWriter, v interface{}, status int) { content, err := json.MarshalIndent(v, "", " ") if err != nil { http.Error(w, err.Error(), http.StatusInternalServerError) @@ -75,14 +83,10 @@ func ServeJSON(w http.ResponseWriter, v interface{}) { } w.Header().Set("Content-Length", strconv.Itoa(len(content))) w.Header().Set("Content-Type", "application/json") + w.WriteHeader(status) w.Write(content) } -func ServeError(w http.ResponseWriter, errRes ErrorResponse) { - w.WriteHeader(errRes.Status) - ServeJSON(w, errRes) -} - const ( StatusUnprocessableEntity = 422 )