From a61d8f7bd762efae4ecd8de53ff34c07989bf796 Mon Sep 17 00:00:00 2001 From: Quinn Slack Date: Sun, 22 Jan 2017 15:45:18 -0800 Subject: [PATCH] warn when marshaling invalid Response --- jsonrpc2.go | 3 +++ 1 file changed, 3 insertions(+) diff --git a/jsonrpc2.go b/jsonrpc2.go index 9ec1297..c7724ac 100644 --- a/jsonrpc2.go +++ b/jsonrpc2.go @@ -132,6 +132,9 @@ func (r *Response) MarshalJSON() ([]byte, error) { if r == nil { return nil, errors.New("can't marshal nil *jsonrpc2.Response") } + if (r.Result == nil || len(*r.Result) == 0) && r.Error == nil { + return nil, errors.New("can't marshal *jsonrpc2.Response (must have result or error)") + } b, err := json.Marshal(*r) if err != nil { return nil, err