diff options
| author | haturatu <taro@eyes4you.org> | 2025-10-12 20:17:28 +0900 |
|---|---|---|
| committer | haturatu <taro@eyes4you.org> | 2025-10-12 20:17:46 +0900 |
| commit | 5943ca5e9856b9ec08efc372f1ee515460432620 (patch) | |
| tree | 55562880591b622de00941fc750cff45d1532558 /middleware/ratelimit.go | |
| parent | 96f2fed1577e69b62134187c61a4dcf7d864c52b (diff) | |
feat(goroutine): workerpool
Diffstat (limited to 'middleware/ratelimit.go')
| -rw-r--r-- | middleware/ratelimit.go | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/middleware/ratelimit.go b/middleware/ratelimit.go index fcb38cc..944f863 100644 --- a/middleware/ratelimit.go +++ b/middleware/ratelimit.go @@ -67,3 +67,16 @@ func RateLimitMiddleware(l *types.RateLimiter) func(http.Handler) http.Handler { }) } } + +// Cleanup iterates through the rate limiter's request map and removes entries +// for IPs that have no recent requests. +func Cleanup(l *types.RateLimiter) { + l.Mutex.Lock() + defer l.Mutex.Unlock() + + for ip, requests := range l.Requests { + if len(requests) == 0 { + delete(l.Requests, ip) + } + } +} |
