+autonavi.BatchWalkingDistance
This commit is contained in:
@@ -24,6 +24,7 @@ const (
|
||||
DefMaxRecoverableRetryCount = 1 // 可恢复类错误(一般指网络错),最大重试次数
|
||||
|
||||
KeyTrackInfo = "TrackInfo"
|
||||
KeyData = "fakeData"
|
||||
)
|
||||
|
||||
type APIRetryConfig struct {
|
||||
@@ -147,6 +148,7 @@ func AccessPlatformAPIWithRetry(client *http.Client, handleRequest func() *http.
|
||||
}
|
||||
var (
|
||||
errLevel string
|
||||
bodyGeneral interface{}
|
||||
bodyMap map[string]interface{}
|
||||
parseJSONErr error
|
||||
)
|
||||
@@ -155,15 +157,23 @@ func AccessPlatformAPIWithRetry(client *http.Client, handleRequest func() *http.
|
||||
baseapi.SugarLogger.Errorf("AccessPlatformAPIWithRetry:%s ioutil.ReadAll failed, url:%v, request:%v, error:%v", trackInfo, request.URL, getClonedData(request.URL, savedBuf), err)
|
||||
errLevel = ErrLevelRecoverableErr // 读取数据错误,或数据格式错误认为是偶发情况,重试
|
||||
} else {
|
||||
if err = utils.TryUnmarshalUseNumber(bodyData, &bodyMap); err != nil {
|
||||
if err = utils.TryUnmarshalUseNumber(bodyData, &bodyGeneral); err != nil {
|
||||
parseJSONErr = err
|
||||
err = nil // 尝试忽略解析成json错
|
||||
} else {
|
||||
baseapi.SugarLogger.Debugf("AccessPlatformAPIWithRetry:%s url:%v, response:%s", trackInfo, request.URL, utils.Format4Output(bodyMap, true))
|
||||
baseapi.SugarLogger.Debugf("AccessPlatformAPIWithRetry:%s url:%v, response:%s", trackInfo, request.URL, utils.Format4Output(bodyGeneral, true))
|
||||
}
|
||||
// 临时处理返回值居然不是map的情况
|
||||
if bodyMap2, ok := bodyGeneral.(map[string]interface{}); ok {
|
||||
bodyMap = bodyMap2
|
||||
} else {
|
||||
bodyMap = map[string]interface{}{
|
||||
KeyData: bodyGeneral,
|
||||
}
|
||||
}
|
||||
errLevel, err = handleResponse(response, string(bodyData), bodyMap)
|
||||
if err != nil && parseJSONErr != nil {
|
||||
const maxOutputLen = 200
|
||||
const maxOutputLen = 2000
|
||||
bodyDataLen := len(bodyData)
|
||||
bodyData2 := bodyData
|
||||
if bodyDataLen > maxOutputLen {
|
||||
|
||||
Reference in New Issue
Block a user