Skip to content

Add token-bucket rate limiter middleware + example - #1

Merged
codcreater1 merged 1 commit into
mainfrom
feat/rate-limiter-middleware
Jul 19, 2026
Merged

codcreater1 merged 1 commit into
mainfrom
feat/rate-limiter-middleware

Conversation

@codcreater1

Copy link
Copy Markdown
Owner

Ne eklendi

Global middleware olarak kullanılabilen, header-only token-bucket rate limiter.

  • include/cpphttp/middleware/rate_limiter.hpp — IP başına (Request::remote_addr) token-bucket, thread-safe (mutex ile korunuyor)
  • examples/rate_limited_api.cpp — /api/ping route'u, 5 istek / 10 saniye limiti
  • CMakeLists.txt — yeni example için build hedefi eklendi

Kullanım

```cpp
cpphttp::middleware::RateLimiter limiter(100, std::chrono::seconds(60));
app.use(limiter.handler());
```

Limit aşılınca 429 Too Many Requests + Retry-After header'ı dönüyor.

Test

  • g++ -std=c++17 -Wall -Wextra -Wpedantic ile uyarısız derlendi
  • Örnek server çalıştırılıp /api/ping'e ardışık istek atılarak doğrulandı: ilk 5 istek 200, sonrası 429

@codcreater1
codcreater1 merged commit 0ffeed3 into main Jul 19, 2026
2 of 6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant