REVIEW-001 (M0) M3s: the fixed-window limiter's state map was never pruned, so a flood of distinct keys grew it without bound (memory DoS). Sweep elapsed windows on insert — gated on a size threshold and at most once per window, so it stays amortised — and hard-cap the map (65536 entries) as the backstop. Expose Len() for tests/observability and cover both the sweep and the cap. |
||
|---|---|---|
| .. | ||
| audit.go | ||
| correlation.go | ||
| middleware_test.go | ||
| ratelimit.go | ||