node-rate-limiter-flexible

Atomic counters and rate limiting tools. Limit resource access at any scale.

ISC License

Downloads
2.9M
Stars
3K
Committers
43

Bot releases are hidden (Show)

node-rate-limiter-flexible - Set method + types fixes

Published by animir almost 5 years ago

  • New set method implemented for all limiters.
  • RateLimiterRes constructor types is fixed. Thanks @raelcun
  • IRateLimiterResOptions is deprecated in favour of IRateLimiterRes interface.
  • RLWrapperBlackAndWhite options isWhite and isBlack are deprecated. Use isBlackListed and isWhiteListed instead.
node-rate-limiter-flexible - Never expiring keys + fixes

Published by animir almost 5 years ago

  • All limiters support Never Expiring keys now. If limiter option duration is 0 or block method called with 0 duration, key is never expiring. Note: if you want to start using never expiring keys with already created MySQL or Postgres limiters, make sure database table is re-created or alter db table to allow expire column to be NULL.
  • Added IRateLimiterResOptions interface. Thank you Eladio Mora.
  • Tests configured to be checked by eslint now. Thanks @mkxml (issue https://github.com/animir/node-rate-limiter-flexible/issues/28)
  • Fixed typing for rateLimiterInstance.get(). Thanks @ephemer.
  • Fixed ExpressBruteFlexible reset works with ignoreIP option.
  • Added ExpressBruteFlexible prefix option for keys.
node-rate-limiter-flexible - RateLimiterQueue TypeScript bindings + MySQL fix + Cluster fix

Published by animir about 5 years ago

node-rate-limiter-flexible - RateLimiterQueue

Published by animir over 5 years ago

Features:

  • RateLimiterQueue limiter with FIFO queue support on single server or distributed environment.

Bug-fixes:

node-rate-limiter-flexible - blockDuration with inmemoryBlock superpower

Published by animir over 5 years ago

Features:

  • add ExpressBrute analog middleware
  • use blockDuration with inmemoryBlock
node-rate-limiter-flexible - Consume, penalty and reward with customDuration options

Published by animir over 5 years ago

Features:

  • use consume(key, points, {customDuration: 1}) to dynamically change a duration of a current call for a key fixed by global duration

Bug fixes:

  • postgres limiter: create table (thank you @jdgriffith )
  • memory limiter: block method duration
  • memcache limiter: fix possible race condition
node-rate-limiter-flexible - MongoDB compound index sharding support

Published by animir over 5 years ago

Features:

  • MongoDB limiter supports compound unique index sharding with indexKeyPrefix option now.
  • disable prefixing keys with empty keyPrefix option.
  • mongodb: specify collection name with tableName option.

Bug fixes:

  • postgresql: fix bug storing limits on different tables.
  • implement toString, symbol inspect and toJSON for RateLimiterRes.
  • fix RateLimiterUnion's consume TS response type (thanks @zephraph )
  • add type signatures for toString and toJSON methods of RateLimiterRes (thanks @michaeldzjap )
node-rate-limiter-flexible - Add delete method and fix MySQL Sequelize delete expired

Published by animir over 5 years ago

node-rate-limiter-flexible - Fix TS bindings

Published by animir almost 6 years ago

node-rate-limiter-flexible - Add RateLimiterMemcache

Published by animir almost 6 years ago

  • fix skipped black and white wrapper import
node-rate-limiter-flexible - PM2 support for RateLimiterCluster

Published by animir almost 6 years ago

  • PM2 support for RateLimiterCluster
  • Mongo limiter bug fix on forceExpire
node-rate-limiter-flexible - Bundled TypeScript types

Published by animir almost 6 years ago

node-rate-limiter-flexible - MySQL and Postgres node v6 support

Published by animir over 6 years ago

node-rate-limiter-flexible - Sequelize and Knex support

Published by animir over 6 years ago

node-rate-limiter-flexible - storeClient option

Published by animir over 6 years ago

Redis, Mongo, Postgres and MySQL limiters support storeClient option

node-rate-limiter-flexible - Postgres UTC

Published by animir over 6 years ago

Postgres limiter stores expire as milliseconds in bigint column type now.
Previously created database tables have to dropped or data imported from old table to new by any convenient way.

node-rate-limiter-flexible - MySQL transaction

Published by animir over 6 years ago

node-rate-limiter-flexible - Get

Published by animir over 6 years ago

node-rate-limiter-flexible - Better Mongo

Published by animir over 6 years ago

node-rate-limiter-flexible - +Postgres

Published by animir over 6 years ago

Package Rankings
Top 0.94% on Npmjs.org
Top 8.17% on Proxy.golang.org
Badges
Extracted from project README
npm version node version deno version