Skip to content
Toggle navigation
P
Projects
G
Groups
S
Snippets
Help
phsl
/
new-api
This project
Loading...
Sign in
Toggle navigation
Go to a project
Project
Repository
Issues
0
Merge Requests
0
Pipelines
Wiki
Snippets
Members
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Commit
fa20af81
authored
Mar 06, 2025
by
1808837298@qq.com
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
refactor: Improve model request rate limit middleware execution
parent
7cec111b
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
8 additions
and
6 deletions
+8
-6
middleware/model-rate-limit.go
+8
-6
No files found.
middleware/model-rate-limit.go
View file @
fa20af81
...
@@ -153,21 +153,23 @@ func memoryRateLimitHandler(duration int64, totalMaxCount, successMaxCount int)
...
@@ -153,21 +153,23 @@ func memoryRateLimitHandler(duration int64, totalMaxCount, successMaxCount int)
// ModelRequestRateLimit 模型请求限流中间件
// ModelRequestRateLimit 模型请求限流中间件
func
ModelRequestRateLimit
()
func
(
c
*
gin
.
Context
)
{
func
ModelRequestRateLimit
()
func
(
c
*
gin
.
Context
)
{
// 如果未启用限流,直接放行
return
func
(
c
*
gin
.
Context
)
{
// 在每个请求时检查是否启用限流
if
!
setting
.
ModelRequestRateLimitEnabled
{
if
!
setting
.
ModelRequestRateLimitEnabled
{
return
defNext
c
.
Next
()
return
}
}
// 计算限流参数
// 计算限流参数
duration
:=
int64
(
setting
.
ModelRequestRateLimitDurationMinutes
*
60
)
duration
:=
int64
(
setting
.
ModelRequestRateLimitDurationMinutes
*
60
)
totalMaxCount
:=
setting
.
ModelRequestRateLimitCount
totalMaxCount
:=
setting
.
ModelRequestRateLimitCount
successMaxCount
:=
setting
.
ModelRequestRateLimitSuccessCount
successMaxCount
:=
setting
.
ModelRequestRateLimitSuccessCount
// 根据存储类型选择
限流处理器
// 根据存储类型选择并执行
限流处理器
if
common
.
RedisEnabled
{
if
common
.
RedisEnabled
{
return
redisRateLimitHandler
(
duration
,
totalMaxCount
,
successMaxCount
)
redisRateLimitHandler
(
duration
,
totalMaxCount
,
successMaxCount
)(
c
)
}
else
{
}
else
{
return
memoryRateLimitHandler
(
duration
,
totalMaxCount
,
successMaxCount
)
memoryRateLimitHandler
(
duration
,
totalMaxCount
,
successMaxCount
)(
c
)
}
}
}
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment