From 21060e49135189865cd66a8cfc2422a5ff1601dd Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E7=99=BD=E8=8C=B6=E6=B8=85=E6=AC=A2?= Date: Fri, 9 May 2025 10:58:39 +0800 Subject: [PATCH] =?UTF-8?q?=E5=8D=87=E7=BA=A7RateLimiter=E6=8E=A5=E5=8F=A3?= =?UTF-8?q?=E7=BA=A6=E6=9D=9F?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- httpclient/abstract/IRateLimiter.go | 4 +++- httpclient/define/event.go | 28 ---------------------------- httpclient/resty.go | 2 +- 3 files changed, 4 insertions(+), 30 deletions(-) diff --git a/httpclient/abstract/IRateLimiter.go b/httpclient/abstract/IRateLimiter.go index cce0457..b102849 100644 --- a/httpclient/abstract/IRateLimiter.go +++ b/httpclient/abstract/IRateLimiter.go @@ -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 } diff --git a/httpclient/define/event.go b/httpclient/define/event.go index c77f51e..c156096 100644 --- a/httpclient/define/event.go +++ b/httpclient/define/event.go @@ -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<白茶清欢> diff --git a/httpclient/resty.go b/httpclient/resty.go index e4c51ba..69c4918 100644 --- a/httpclient/resty.go +++ b/httpclient/resty.go @@ -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 }