From 7fb250146e519c6cc7b84f7e54f9ccb784f550e7 Mon Sep 17 00:00:00 2001 From: Tevic Date: Wed, 26 Jan 2022 11:16:09 +0800 Subject: [PATCH] return err instead of panic in JSON Render Change-Id: I3ce1afb327fea7a92a21e27649f7af87e286bf26 --- render/json.go | 5 +---- render/render_test.go | 4 ++-- 2 files changed, 3 insertions(+), 6 deletions(-) diff --git a/render/json.go b/render/json.go index 3ebcee9706..ac0452e6d5 100644 --- a/render/json.go +++ b/render/json.go @@ -54,10 +54,7 @@ var ( // Render (JSON) writes data with custom ContentType. func (r JSON) Render(w http.ResponseWriter) (err error) { - if err = WriteJSON(w, r.Data); err != nil { - panic(err) - } - return + return WriteJSON(w, r.Data) } // WriteContentType (JSON) writes JSON ContentType. diff --git a/render/render_test.go b/render/render_test.go index e417731a89..20a9c875af 100644 --- a/render/render_test.go +++ b/render/render_test.go @@ -39,12 +39,12 @@ func TestRenderJSON(t *testing.T) { assert.Equal(t, "application/json; charset=utf-8", w.Header().Get("Content-Type")) } -func TestRenderJSONPanics(t *testing.T) { +func TestRenderJSONError(t *testing.T) { w := httptest.NewRecorder() data := make(chan int) // json: unsupported type: chan int - assert.Panics(t, func() { assert.NoError(t, (JSON{data}).Render(w)) }) + assert.Error(t, (JSON{data}).Render(w)) } func TestRenderIndentedJSON(t *testing.T) {