MCPcopy Create free account
hub / github.com/aiprodcoder/MIXAPI / rateLimitFactory

Function rateLimitFactory

middleware/rate-limit.go:75–87  ·  view source on GitHub ↗
(maxRequestNum int, duration int64, mark string)

Source from the content-addressed store, hash-verified

73}
74
75func rateLimitFactory(maxRequestNum int, duration int64, mark string) func(c *gin.Context) {
76 if common.RedisEnabled {
77 return func(c *gin.Context) {
78 redisRateLimiter(c, maxRequestNum, duration, mark)
79 }
80 } else {
81 // It's safe to call multi times.
82 inMemoryRateLimiter.Init(common.RateLimitKeyExpirationDuration)
83 return func(c *gin.Context) {
84 memoryRateLimiter(c, maxRequestNum, duration, mark)
85 }
86 }
87}
88
89func GlobalWebRateLimit() func(c *gin.Context) {
90 if common.GlobalWebRateLimitEnable {

Callers 5

GlobalWebRateLimitFunction · 0.85
GlobalAPIRateLimitFunction · 0.85
CriticalRateLimitFunction · 0.85
DownloadRateLimitFunction · 0.85
UploadRateLimitFunction · 0.85

Calls 3

redisRateLimiterFunction · 0.85
memoryRateLimiterFunction · 0.85
InitMethod · 0.65

Tested by

no test coverage detected