diff --git a/platformapi/platformapi.go b/platformapi/platformapi.go index eed36404..8d808d7b 100644 --- a/platformapi/platformapi.go +++ b/platformapi/platformapi.go @@ -141,18 +141,16 @@ func AccessPlatformAPIWithRetry(client *http.Client, handleRequest func() *http. bodyData, err := ioutil.ReadAll(response.Body) if err != nil { baseapi.SugarLogger.Errorf("AccessPlatformAPIWithRetry:%s ioutil.ReadAll failed, url:%v, request:%v, error:%v", trackID, request.URL, getClonedData(request.URL, savedBuf), err) - } else if err = utils.TryUnmarshalUseNumber(bodyData, &bodyMap); err != nil { - parseJSONErr = err - err = nil // 尝试忽略解析成json错 - } else { - baseapi.SugarLogger.Debugf("AccessPlatformAPIWithRetry:%s url:%v, response:%s", trackID, request.URL, utils.Format4Output(bodyMap, true)) - } - errLevel, err = handleResponse(response, string(bodyData), bodyMap) - - if err != nil { errLevel = ErrLevelRecoverableErr // 读取数据错误,或数据格式错误认为是偶发情况,重试 } else { - if errLevel, err = handleResponse(response, string(bodyData), bodyMap); err != nil && parseJSONErr != nil { + if err = utils.TryUnmarshalUseNumber(bodyData, &bodyMap); err != nil { + parseJSONErr = err + err = nil // 尝试忽略解析成json错 + } else { + baseapi.SugarLogger.Debugf("AccessPlatformAPIWithRetry:%s url:%v, response:%s", trackID, request.URL, utils.Format4Output(bodyMap, true)) + } + errLevel, err = handleResponse(response, string(bodyData), bodyMap) + if err != nil && parseJSONErr != nil { const maxOutputLen = 200 bodyDataLen := len(bodyData) bodyData2 := bodyData