This is an automated email from the ASF dual-hosted git repository. cbickel pushed a commit to branch tid in repository https://gitbox.apache.org/repos/asf/incubator-openwhisk-client-go.git
commit 99c306968c8550e9c3aa19358a261976438bba8d Author: Christian Bickel <cbic...@de.ibm.com> AuthorDate: Thu Apr 26 08:44:50 2018 +0200 Parse numbers correctly in error response. --- whisk/client.go | 11 +++++++---- 1 file changed, 7 insertions(+), 4 deletions(-) diff --git a/whisk/client.go b/whisk/client.go index 85ac505..22a764a 100644 --- a/whisk/client.go +++ b/whisk/client.go @@ -514,11 +514,14 @@ func parseErrorResponse(resp *http.Response, data []byte, v interface{}) (*http. Debug(DbgInfo, "HTTP failure %d + body\n", resp.StatusCode) // Determine if an application error was received (#5) - errorResponse := &ErrorResponse{Response: resp} - err := json.Unmarshal(data, errorResponse) + buf := bytes.NewBuffer(data) + d := json.NewDecoder(buf) + d.UseNumber() + + errorResponse := &ErrorResponse{Response: resp} // Determine if error is an application error or an error generated by API - if err == nil { + if err := d.Decode(&errorResponse); err != nil { if errorResponse.Code == nil /*&& errorResponse.ErrMsg != nil */ && resp.StatusCode == 502 { return parseApplicationError(resp, data, v) } else if errorResponse.Code != nil && errorResponse.ErrMsg != nil { @@ -529,7 +532,7 @@ func parseErrorResponse(resp *http.Response, data []byte, v interface{}) (*http. } // Body contents are unknown (#6) - Debug(DbgError, "HTTP response with unexpected body failed due to contents parsing error: '%v'\n", err) +// Debug(DbgError, "HTTP response with unexpected body failed due to contents parsing error: '%v'\n", err) errMsg := wski18n.T("The connection failed, or timed out. (HTTP status code {{.code}})", map[string]interface{}{"code": resp.StatusCode}) whiskErr := MakeWskError(errors.New(errMsg), resp.StatusCode-256, DISPLAY_MSG, NO_DISPLAY_USAGE) -- To stop receiving notification emails like this one, please contact cbic...@apache.org.