From a3eefb7af0b624aa104e0cf8550c8737e6ea694f Mon Sep 17 00:00:00 2001 From: zijiren <84728412+zijiren233@users.noreply.github.com> Date: Sun, 14 Jul 2024 18:03:23 +0800 Subject: [PATCH] fix: rate limit can be zero (#1643) --- middleware/rate-limit.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/middleware/rate-limit.go b/middleware/rate-limit.go index 0f300f2b..c1be92f3 100644 --- a/middleware/rate-limit.go +++ b/middleware/rate-limit.go @@ -3,11 +3,12 @@ package middleware import ( "context" "fmt" + "net/http" + "time" + "github.com/gin-gonic/gin" "github.com/songquanpeng/one-api/common" "github.com/songquanpeng/one-api/common/config" - "net/http" - "time" ) var timeFormat = "2006-01-02T15:04:05.000Z" @@ -70,6 +71,11 @@ func memoryRateLimiter(c *gin.Context, maxRequestNum int, duration int64, mark s } func rateLimitFactory(maxRequestNum int, duration int64, mark string) func(c *gin.Context) { + if maxRequestNum == 0 { + return func(c *gin.Context) { + c.Next() + } + } if common.RedisEnabled { return func(c *gin.Context) { redisRateLimiter(c, maxRequestNum, duration, mark)