Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Socket
Sign inDemoInstall

express-rate-limit

Package Overview
Dependencies
Maintainers
1
Versions
108
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

express-rate-limit - npm Package Compare versions

Comparing version 3.2.1 to 3.3.0

36

lib/express-rate-limit.js

@@ -98,16 +98,30 @@ "use strict";

if (options.skipFailedRequests) {
res.on("finish", function() {
if (res.statusCode >= 400) {
if (options.skipFailedRequests || options.skipSuccessfulRequests) {
let decremented = false;
const decrementKey = () => {
if (!decremented) {
options.store.decrement(key);
decremented = true;
}
});
}
};
if (options.skipSuccessfulRequests) {
res.on("finish", function() {
if (res.statusCode < 400) {
options.store.decrement(key);
}
});
if (options.skipFailedRequests) {
res.on("finish", function() {
if (res.statusCode >= 400) {
decrementKey();
}
});
res.on("close", () => decrementKey());
res.on("error", () => decrementKey());
}
if (options.skipSuccessfulRequests) {
res.on("finish", function() {
if (res.statusCode < 400) {
options.store.decrement(key);
}
});
}
}

@@ -114,0 +128,0 @@

{
"name": "express-rate-limit",
"version": "3.2.1",
"version": "3.3.0",
"description": "Basic IP rate-limiting middleware for Express. Use to limit repeated requests to public APIs and/or endpoints such as password reset.",

@@ -5,0 +5,0 @@ "homepage": "https://github.com/nfriedly/express-rate-limit",

@@ -20,2 +20,3 @@ # Express Rate Limit

- [Memcached Store](https://npmjs.org/package/rate-limit-memcached)
- [Mongo Store](https://www.npmjs.com/package/rate-limit-mongo)

@@ -26,3 +27,3 @@ ### Alternate Rate-limiters

- [strict-rate-limiter](https://www.npmjs.com/package/strict-rate-limiter)
- [rate-limiter-flexible](https://www.npmjs.com/package/rate-limiter-flexible)
- [express-brute](https://www.npmjs.com/package/express-brute)

@@ -175,3 +176,8 @@ - [rate-limiter](https://www.npmjs.com/package/express-limiter)

When set to `true`, failed requests (response status >= 400) won't be counted.
When set to `true`, failed requests won't be counted. Request considered failed when:
- response status >= 400
- requests that were cancelled before last chunk of data was sent (response `close` event triggered)
- response `error` event was triggrered by response
(Technically they are counted and then un-counted, so a large number of slow requests all at once could still trigger a rate-limit. This may be fixed in a future release.)

@@ -178,0 +184,0 @@

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc