diff --git a/types.go b/types.go index 8ff901f..6afe695 100644 --- a/types.go +++ b/types.go @@ -51,6 +51,9 @@ type APIResponse struct { // String dumps JSON without tailing \n func (resp *APIResponse) String() string { sb := strings.Builder{} + if len(resp.Data) == 0 { + resp.Data = []byte(`null`) + } err := json.NewEncoder(&sb).Encode(resp) if err != nil { panic(errors.Wrap(err, "unexpected")) diff --git a/types_test.go b/types_test.go new file mode 100644 index 0000000..41e4e16 --- /dev/null +++ b/types_test.go @@ -0,0 +1,18 @@ +package goba + +import "testing" + +func TestMarshalAPIResponse(t *testing.T) { + rsp := &APIResponse{ + Status: "error", + Data: []byte(`null`), + Message: "12345", + } + t.Log(rsp.String()) + rsp = &APIResponse{ + Status: "error", + Data: []byte(``), + Message: "12345", + } + t.Log(rsp.String()) +}