Compare commits

..

No commits in common. "7b1a36a7c38cfc3a04a476d2f5d8f961e23729e7" and "70d044e3a3a933e3591a596e28c31c4f82553b5a" have entirely different histories.

3 changed files with 30 additions and 4 deletions

View File

@ -7,9 +7,7 @@
// Date : 2025-05-07 21:13
package abstract
import "git.zhangdeman.cn/zhangdeman/network/httpclient/define"
// RateLimiter v2 流控口约束, v3移除了, 人工补齐
type RateLimiter interface {
Allow(reqCfg *define.Request) bool
Allow() bool
}

View File

@ -7,6 +7,34 @@
// Date : 2024-05-31 14:51
package define
// Http4xxHandler 4xx handler
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 14:54 2024/5/31
type Http4xxHandler func(req *Request, rep *Response)
// Http5xxHandler 5xx handler
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 14:55 2024/5/31
type Http5xxHandler func(req *Request, rep *Response)
// HttpBusinessErrorHandler 接口请求业务错误
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 18:04 2024/6/1
type HttpBusinessErrorHandler func(req *Request, rep *Response)
// RequestSendErrorHandler 请求发送失败的处理逻辑
//
// Author : go_developer@163.com<白茶清欢>
//
// Date : 18:23 2024/6/1
type RequestSendErrorHandler func(req *Request)
// RequestFinishHandler 请求最终完成事件, 不区分成功 OR 失败
//
// Author : go_developer@163.com<白茶清欢>

View File

@ -87,7 +87,7 @@ func NewRestyClient(reqConfig *define.Request, reqOption *RequestOption) (*resty
// 未配置流控
return nil
}
if !reqOption.RateLimiter.Allow(reqConfig) {
if !reqOption.RateLimiter.Allow() {
// 命中流控
return define.ErrRateLimitExceeded
}