0.2.1 • Published 9 months ago

@rosen-bridge/rate-limited-axios v0.2.1

Weekly downloads
-
License
GPL-3.0
Repository
-
Last release
9 months ago

@rosen-bridge/rate-limited-axios

Table of contents

Introduction

A lightweight rate-limiting interceptor for Axios that helps control the number of HTTP requests and prevent API throttling.

Installation

npm:

npm i @rosen-bridge/rate-limited-axios

yarn:

yarn add @rosen-bridge/rate-limited-axios

Usage

To enable global rate-limiting across your application, you should initialize the configuration once at the entry point of your project (e.g., index.ts or bootstrap.ts):

import RateLimitedAxios, { RateLimitedAxiosConfig } from '@rosen-bridge/rate-limited-axios';

RateLimiterAxiosConfig.addRule('^http://google.com/.*$', 10, 30);
RateLimiterAxiosConfig.addRule('^http://yahoo.com/.*$', 10, 30);
RateLimiterAxiosConfig.addRule('^http://bing.com/.*$', 10, 30);
.
.
.
const axiosClient = new RateLimitedAxios();
for (let i = 0; i < 10; i++)
  axiosClient.get(url);

After this initialization, all packages that import and use @rosen-bridge/rate-limited-axios will respect the configured request limits, ensuring consistent throttling behavior across your entire application.