ExpressRateLimit: Fix handler property (#20613)

This commit is contained in:
makepost
2017-10-23 23:02:35 +03:00
committed by Sheetal Nandi
parent f997198b92
commit 866d98de66
2 changed files with 12 additions and 7 deletions

View File

@@ -11,7 +11,12 @@ const createAccountLimiter = new RateLimit({
delayAfter: 1, // begin slowing down responses after the first request
delayMs: 3 * 1000, // slow down subsequent responses by 3 seconds per request
max: 5, // start blocking after 5 requests
message: "Too many accounts created from this IP, please try again after an hour"
message: "Too many accounts created from this IP, please try again after an hour",
handler: (req, _, next) => next(new Error(`TooManyRequests: ${req.ip}`))
});
const callbackWithFewerParams = new RateLimit({
handler: (req, res) => res.status(429).json(`TooManyRequests: ${req.ip}`)
});
class SomeStore implements RateLimit.Store {

View File

@@ -1,6 +1,6 @@
// Type definitions for express-rate-limit 2.8
// Type definitions for express-rate-limit 2.9
// Project: https://github.com/nfriedly/express-rate-limit
// Definitions by: Cyril Schumacher <https://github.com/cyrilschumacher>
// Definitions by: Cyril Schumacher <https://github.com/cyrilschumacher>, makepost <https://github.com/makepost>
// Definitions: https://github.com/DefinitelyTyped/DefinitelyTyped
import express = require("express");
@@ -17,15 +17,15 @@ declare namespace RateLimit {
interface Options {
delayAfter?: number;
delayMs?: number;
handlers?(req?: express.Request, res?: express.Response, next?: express.NextFunction): any;
handler?(req: express.Request, res: express.Response, next: express.NextFunction): any;
headers?: boolean;
keyGenerator?(req?: express.Request, res?: express.Response): string;
keyGenerator?(req: express.Request, res: express.Response): string;
max?: number;
message?: string;
skip?(req?: express.Request, res?: express.Response): boolean;
skip?(req: express.Request, res: express.Response): boolean;
statusCode?: number;
store?: Store;
onLimitReached?(req?: express.Request, res?: express.Response, optionsUsed?: Options): void;
onLimitReached?(req: express.Request, res: express.Response, optionsUsed: Options): void;
windowMs?: number;
}
}