IResponse约束增加NeedRetry是否需要重试方法
This commit is contained in:
@ -125,3 +125,26 @@ func (r *Response) HttpSuccess(reqCfg *define.Request, response *define.Response
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
||||
// NeedRetry 是否需要重试
|
||||
func (r *Response) NeedRetry(reqCfg *define.Request, response *define.Response) bool {
|
||||
if nil == reqCfg.RetryRule {
|
||||
// 未配置重试规则
|
||||
return false
|
||||
}
|
||||
if reqCfg.RetryRule.RetryCount <= 0 {
|
||||
// 未配置重试次数
|
||||
return false
|
||||
}
|
||||
for _, httpCode := range reqCfg.RetryRule.RetryHttpCodeList {
|
||||
if response.HttpCode == int(httpCode) {
|
||||
return true
|
||||
}
|
||||
}
|
||||
for _, businessCode := range reqCfg.RetryRule.RetryBusinessCodeList {
|
||||
if businessCode == response.Code {
|
||||
return true
|
||||
}
|
||||
}
|
||||
return false
|
||||
}
|
||||
|
Reference in New Issue
Block a user