Skip to content

Releases: 0xRadioAc7iv/rate-limiter

First Stable Release: v1.0.0

24 Dec 12:56
Compare
Choose a tag to compare

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 with statusCode >= 400 from rate counting.
  • 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.