0.2.3 • Published 2 years ago

susi-rali v0.2.3

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

susi-rali

NPM

NodeJs Super Simple Rate Limiter : susi-rali.

This tool offers a way to rate limit a given action acting as client point of view. (In state this project is not designed to apply to rate limit server handlers and return 429 error for example)

Features

  • limitedCall - rate limited business promise method with result.

Susi super limitations:

  • BETA: this project is in beta state. limit have not yet been evaluated. Input validation is light
  • dont scale up: as this project dont yet rely on shared storage (ex. db or redis), usage must be limited to one instance.

Quick start

install susi-rali

npm install susi-rali

then let's go:

const SusiRali = require('susi-rali')
const windowsMs=1000;
const maxQueryPerWindow=10;
const susi = new SusiRali({windowsMs, maxQueryPerWindow});

await susi.limitedCall(() => businessCode("businessArg"))
         .then((businessResolved)=>console.log(">" + businessResolved));

Advanced usage

SusiRali options

This section describes SusiRali available options.

Note about options precedence: first take option value from constructor if any, or else apply default value.

  • windowsMs : Rate limit windows size in milliseconds - optional with default value: 1000
  • maxQueryPerWindow : Rate limit max query per windows size - optional with default value: 10
  • maxProcessingPerWindow : Rate limit max query processing per windows size - optional with default value: maxQueryPerWindow

How to contribute

You're not a dev ? just submit an issue (bug, improvements, questions). Or else:

  • Clone
  • Install deps
  • Then mocha tests
git clone https://github.com/creharmony/susi-rali.git
cd susi-rali
npm install
# play tests
npm run test
# play different parallel configurations
npm run manual
  • you could also fork, feature branch, then submit a pull request.

Services or activated bots

badgenamedescription
CI/CDGithub actionsContinuous tests.
AuditGithub actionsContinuous vulnerability audit.
Reviewed by HoundHoundciJavaScript automated review (configured by .hound.yml)
Automated Release Notes by grenGRENAutomated Release Notes by gren
0.2.3

2 years ago

0.2.2

2 years ago

0.2.1

2 years ago

0.2.0

2 years ago

0.1.4

2 years ago

0.1.5

2 years ago

0.1.3

3 years ago

0.1.2

3 years ago

0.1.0

3 years ago

0.0.3

3 years ago

0.1.1

3 years ago

0.0.4

3 years ago

0.0.2

3 years ago

0.0.1

3 years ago