Express middleware for IP-based rate limiting with flexible configuration options and multiple storage backends
Overall
score
96%
Request rate-limit metadata exposure
Limiter setup
20%
100%
Metadata property
70%
100%
Standard headers
26%
100%
Exceed handler
0%
100%
Metadata echo
50%
100%
Rate-limit middleware setup
Global defaults
100%
100%
Shared limiter
100%
100%
Config overrides
100%
100%
Login limiter
100%
100%
Header & Retry-After
100%
100%
Store integration with MemoryStore default
rateLimit middleware
100%
100%
Default MemoryStore
50%
0%
Reset via helper
100%
100%
No manual counters
100%
100%
Timer cleanup
100%
100%
Window reset timing
100%
100%
Draft-8 quota metadata and multi-limiter headers
Draft8 headers
100%
100%
Quota identifiers
100%
100%
Multi-limiter stack
100%
100%
Partition tokens
100%
100%
Quota windows
100%
100%
Async/dynamic option resolvers
Async limit
16%
100%
Async keyGenerator
40%
100%
Custom handler
72%
100%
Fallback plan
70%
100%
Skip and counter adjustment controls
Limiter setup
100%
100%
Health skip
100%
100%
Login failure counting
100%
100%
MFA redirect handling
100%
100%
Download error ignore
100%
100%
Error handling and fail-open store errors
Fail-open config
0%
100%
Store error bubble
80%
100%
Store option usage
100%
100%
Handler propagation
100%
100%
Limiter wiring
100%
100%
IP-based key generation with IPv6 subnetting
Middleware setup
100%
100%
IPv6 subnet mask
100%
100%
Subnet disabled
100%
100%
IPv4 isolation
100%
100%
Request metadata
25%
0%
Rate limit response headers (legacy & standard)
Standard setup
100%
100%
Standard values
100%
100%
Legacy setup
100%
100%
Legacy values
100%
100%
Header isolation
100%
100%
Configurable validation checks
Middleware factory
100%
100%
Strict preset validations
100%
100%
Validation opt-out
53%
100%
Proxy-only preset
60%
100%
Override merging
100%
100%
Config surfaced
70%
100%
Install with Tessl CLI
npx tessl i tessl/npm-express-rate-limitTable of Contents