|
|
@@ -13,6 +13,10 @@ var timeFormat = "2006-01-02T15:04:05.000Z"
|
|
|
|
|
|
var inMemoryRateLimiter common.InMemoryRateLimiter
|
|
|
|
|
|
+var defNext = func(c *gin.Context) {
|
|
|
+ c.Next()
|
|
|
+}
|
|
|
+
|
|
|
func redisRateLimiter(c *gin.Context, maxRequestNum int, duration int64, mark string) {
|
|
|
ctx := context.Background()
|
|
|
rdb := common.RDB
|
|
|
@@ -83,11 +87,17 @@ func rateLimitFactory(maxRequestNum int, duration int64, mark string) func(c *gi
|
|
|
}
|
|
|
|
|
|
func GlobalWebRateLimit() func(c *gin.Context) {
|
|
|
- return rateLimitFactory(common.GlobalWebRateLimitNum, common.GlobalWebRateLimitDuration, "GW")
|
|
|
+ if common.GlobalWebRateLimitEnable {
|
|
|
+ return rateLimitFactory(common.GlobalWebRateLimitNum, common.GlobalWebRateLimitDuration, "GW")
|
|
|
+ }
|
|
|
+ return defNext
|
|
|
}
|
|
|
|
|
|
func GlobalAPIRateLimit() func(c *gin.Context) {
|
|
|
- return rateLimitFactory(common.GlobalApiRateLimitNum, common.GlobalApiRateLimitDuration, "GA")
|
|
|
+ if common.GlobalApiRateLimitEnable {
|
|
|
+ return rateLimitFactory(common.GlobalApiRateLimitNum, common.GlobalApiRateLimitDuration, "GA")
|
|
|
+ }
|
|
|
+ return defNext
|
|
|
}
|
|
|
|
|
|
func CriticalRateLimit() func(c *gin.Context) {
|