From 0da70116b00e3d1a30fdb72704ff7031a7075694 Mon Sep 17 00:00:00 2001 From: Daniel Sanchez <3danimanimal@gmail.com> Date: Fri, 30 Sep 2022 17:32:54 +0200 Subject: [PATCH] chore: separate error and success responses as per the specification (#323) --- library/response.go | 13 ++++++++----- 1 file changed, 8 insertions(+), 5 deletions(-) diff --git a/library/response.go b/library/response.go index 9fc13613..92841f09 100644 --- a/library/response.go +++ b/library/response.go @@ -5,8 +5,11 @@ import ( "encoding/json" ) -type jsonResponse struct { - Error *string `json:"error,omitempty"` +type jsonResponseError struct { + Error *string `json:"error"` +} + +type jsonResponseSuccess struct { Result interface{} `json:"result"` } @@ -14,14 +17,14 @@ func prepareJSONResponse(result interface{}, err error) *C.char { if err != nil { errStr := err.Error() - errResponse := jsonResponse{ + errResponse := jsonResponseError{ Error: &errStr, } response, _ := json.Marshal(&errResponse) return C.CString(string(response)) } - data, err := json.Marshal(jsonResponse{Result: result}) + data, err := json.Marshal(jsonResponseSuccess{Result: result}) if err != nil { return prepareJSONResponse(nil, err) } @@ -35,7 +38,7 @@ func makeJSONResponse(err error) *C.char { errString = &errStr } - out := jsonResponse{ + out := jsonResponseError{ Error: errString, } outBytes, _ := json.Marshal(out)