diff --git a/middleware/ratelimit_middleware.go.tmp b/middleware/ratelimit_middleware.go.tmp deleted file mode 100644 index bbbb9f0..0000000 --- a/middleware/ratelimit_middleware.go.tmp +++ /dev/null @@ -1,32 +0,0 @@ -package middleware - -import ( - "log" - "net/http" -) - -func RateLimit(next http.Handler) http.Handler { - return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - clientIP := GetClientIP(r) - if !GlobalRateLimiter.Allow(clientIP) { - log.Printf("警告: 已超过IP速率限制,拒绝请求 - 客户端IP: %s", clientIP) - SendJSONError(w, http.StatusTooManyRequests, "Rate limit exceeded. Please try again later.", "rate_limit_error", "rate_limit_exceeded") - return - } - next.ServeHTTP(w, r) - }) -} - -func ConcurrencyLimit(next http.Handler) http.Handler { - return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) { - select { - case ConcurrencySem <- struct{}{}: - defer func() { <-ConcurrencySem }() - next.ServeHTTP(w, r) - default: - log.Printf("警告: 已达到最大并发请求数限制,拒绝请求 - 客户端IP: %s", GetClientIP(r)) - SendJSONError(w, http.StatusServiceUnavailable, "Server is busy, maximum concurrent requests reached. Please try again later.", "concurrency_limit_error", "max_concurrent_requests") - return - } - }) -}