Skip to content

Commit 029862c

Browse files
committed
improve response unmarshal
1 parent 2e4b6f6 commit 029862c

1 file changed

Lines changed: 18 additions & 4 deletions

File tree

middleware.go

Lines changed: 18 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -275,11 +275,25 @@ func parseResponseBody(c *Client, r *Response) (err error) {
275275
return
276276
}
277277
// Handles only JSON or XML content type
278-
if r.Request.Result != nil && r.IsSuccess() {
279-
unmarshalBody(c, r, r.Request.Result)
278+
if r.Request.Result != nil {
279+
if r.IsSuccess() {
280+
err = unmarshalBody(c, r, r.Request.Result)
281+
if err != nil {
282+
r.Request.Result = nil
283+
}
284+
} else {
285+
r.Request.Result = nil
286+
}
280287
}
281-
if r.Request.Error != nil && r.IsError() {
282-
unmarshalBody(c, r, r.Request.Error)
288+
if r.Request.Error != nil {
289+
if r.IsError() {
290+
err = unmarshalBody(c, r, r.Request.Error)
291+
if err != nil {
292+
r.Request.Error = nil
293+
}
294+
} else {
295+
r.Request.Error = nil
296+
}
283297
}
284298
return
285299
}

0 commit comments

Comments
 (0)