Releases: 0xRadioAc7iv/rate-limiter
Releases · 0xRadioAc7iv/rate-limiter
First Stable Release: v1.0.0
v1.0.0
This is the first release of my Rate Limiter package, providing efficient and flexible rate-limiting capabilities for Node.js applications. The package includes the following features:
Key Features
- Basic Rate Limiting: Set request limits per window for individual clients.
- Customizable Configuration:
- Configure limits, time windows, and cleanup intervals.
- Custom response messages and status codes.
- Flexible Identification: Support for multiple types of user keys for rate-limit identification (e.g., IP address or custom headers).
- Skip Rules:
- Option to skip specific requests from rate limiting using a custom
skip
function. skipFailedRequests
: Exclude requests withstatusCode >= 400
from rate counting.
- Option to skip specific requests from rate limiting using a custom
- Dynamic Limits:
- Per-user and per-endpoint limits.
- External Store Support: Easily extendable for Redis, MongoDB and PostgreSQL (not included in this release).
- Rate Limit Headers:
- Support for standard and legacy rate-limit headers (draft version 8 pending).
- Logging:
- Store logs locally or in a database for future analysis (pending).
- Performance: Optimized for minimal memory and CPU usage with efficient cleanup.
Installation
npm install @radioac7iv/rate-limiter
Usage
Refer to the documentation in the repository for a complete guide on how to integrate the package into your project.
Feedback and Contributions
Your feedback is valuable! Feel free to report issues, suggest features, or contribute to the project here.