Rate Limiting

Per-IP request throttling.

1 min readEdit this page

Usage

import { rateLimit } from '@restjs/security'
app.use(rateLimit({ max: 100, windowMs: 60000 }))

Per-route limits

app.post('/auth/login',
  rateLimit({ max: 5, windowMs: 900000 }),
  loginHandler
)

Response headers: X-RateLimit-Limit, X-RateLimit-Remaining, X-RateLimit-Reset.

Exceeding returns HTTP 429 with Retry-After header.