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
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
16 additions
and
14 deletions
+16
-14
middleware/model-rate-limit.go
+16
-14
No files found.
middleware/model-rate-limit.go
View file @
fa20af81
...
...
@@ -153,21 +153,23 @@ func memoryRateLimitHandler(duration int64, totalMaxCount, successMaxCount int)
// ModelRequestRateLimit 模型请求限流中间件
func
ModelRequestRateLimit
()
func
(
c
*
gin
.
Context
)
{
// 如果未启用限流,直接放行
if
!
setting
.
ModelRequestRateLimitEnabled
{
return
defNext
}
// 计算限流参数
duration
:=
int64
(
setting
.
ModelRequestRateLimitDurationMinutes
*
60
)
totalMaxCount
:=
setting
.
ModelRequestRateLimitCount
return
func
(
c
*
gin
.
Context
)
{
// 在每个请求时检查是否启用限流
if
!
setting
.
ModelRequestRateLimitEnabled
{
c
.
Next
()
return
}
successMaxCount
:=
setting
.
ModelRequestRateLimitSuccessCount
// 计算限流参数
duration
:=
int64
(
setting
.
ModelRequestRateLimitDurationMinutes
*
60
)
totalMaxCount
:=
setting
.
ModelRequestRateLimitCount
successMaxCount
:=
setting
.
ModelRequestRateLimitSuccessCount
// 根据存储类型选择限流处理器
if
common
.
RedisEnabled
{
return
redisRateLimitHandler
(
duration
,
totalMaxCount
,
successMaxCount
)
}
else
{
return
memoryRateLimitHandler
(
duration
,
totalMaxCount
,
successMaxCount
)
// 根据存储类型选择并执行限流处理器
if
common
.
RedisEnabled
{
redisRateLimitHandler
(
duration
,
totalMaxCount
,
successMaxCount
)(
c
)
}
else
{
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