- add utils.TryUnmarshalUseNumber
- remove utils.HTTPResponse2Json
This commit is contained in:
@@ -138,10 +138,19 @@ func AccessPlatformAPIWithRetry(client *http.Client, handleRequest func() *http.
|
||||
}
|
||||
return ErrHTTPCodeIsNot200
|
||||
}
|
||||
var errLevel string
|
||||
bodyMap, err := utils.HTTPResponse2Json(response)
|
||||
var (
|
||||
errLevel string
|
||||
bodyMap map[string]interface{}
|
||||
)
|
||||
bodyData, err := ioutil.ReadAll(response.Body)
|
||||
if err != nil {
|
||||
errLevel = ErrLevelRecoverableErr // 京东到家偶尔会返回HTML,重试
|
||||
baseapi.SugarLogger.Errorf("AccessPlatformAPIWithRetry:%s url:%v, request:%v failed with error:%v", trackID, request.URL, getClonedData(request.URL, savedBuf), err)
|
||||
} else if err = utils.TryUnmarshalUseNumber(bodyData, &bodyMap); err != nil {
|
||||
baseapi.SugarLogger.Errorf("AccessPlatformAPIWithRetry:%s url:%v, request:%v failed with error:%v, bodyData:%s", trackID, request.URL, getClonedData(request.URL, savedBuf), err, string(bodyData))
|
||||
}
|
||||
|
||||
if err != nil {
|
||||
errLevel = ErrLevelRecoverableErr // 读取数据错误,或数据格式错误认为是偶发情况,重试
|
||||
} else {
|
||||
errLevel, err = handleResponse(bodyMap)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user