升级RateLimiter接口约束 #11

Merged
zhangdeman merged 1 commits from feature/upgrade_rate_limiter into master 2025-05-09 11:08:21 +08:00
3 changed files with 4 additions and 30 deletions

View File

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

View File

@ -7,34 +7,6 @@
// 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() {
if !reqOption.RateLimiter.Allow(reqConfig) {
// 命中流控
return define.ErrRateLimitExceeded
}