From 5e2561e52ed283f9775f325468ef083953eb5336 Mon Sep 17 00:00:00 2001 From: Duran <31602742+duranhumes@users.noreply.github.com> Date: Mon, 24 Dec 2018 11:22:54 -0500 Subject: [PATCH 1/5] Updated Options -> message type Updated Options -> message type to mirror express typings, ran into this issue when trying to use an object as the message value. --- types/express-rate-limit/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/express-rate-limit/index.d.ts b/types/express-rate-limit/index.d.ts index 32799cc842..46ca7e1ed9 100644 --- a/types/express-rate-limit/index.d.ts +++ b/types/express-rate-limit/index.d.ts @@ -22,7 +22,7 @@ declare namespace RateLimit { headers?: boolean; keyGenerator?(req: express.Request, res: express.Response): string; max?: number; - message?: string; + message?: string | Buffer | Object; skip?(req: express.Request, res: express.Response): boolean; skipFailedRequests?: boolean; statusCode?: number; From 2dc5713996865e280f9ecff209fee9d7ac911365 Mon Sep 17 00:00:00 2001 From: Duran <31602742+duranhumes@users.noreply.github.com> Date: Mon, 24 Dec 2018 11:27:31 -0500 Subject: [PATCH 2/5] Updated test --- types/express-rate-limit/express-rate-limit-tests.ts | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/types/express-rate-limit/express-rate-limit-tests.ts b/types/express-rate-limit/express-rate-limit-tests.ts index 6be714f3bf..aa5c51a016 100644 --- a/types/express-rate-limit/express-rate-limit-tests.ts +++ b/types/express-rate-limit/express-rate-limit-tests.ts @@ -6,6 +6,15 @@ const apiLimiter = new RateLimit({ delayMs: 0 // disabled }); +const apiLimiterWithMessageObject = new RateLimit({ + windowMs: 15 * 60 * 1000, // 15 minutes + max: 100, + message: { + status: 429, + message: 'To many requests, try again later' + } +}); + const createAccountLimiter = new RateLimit({ windowMs: 60 * 60 * 1000, // 1 hour window delayAfter: 1, // begin slowing down responses after the first request From bb9bbc0f9dec9fa09668ed0cc10f10e2d88cec31 Mon Sep 17 00:00:00 2001 From: Duran <31602742+duranhumes@users.noreply.github.com> Date: Mon, 24 Dec 2018 11:34:23 -0500 Subject: [PATCH 3/5] Changed Object -> object --- types/express-rate-limit/index.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/types/express-rate-limit/index.d.ts b/types/express-rate-limit/index.d.ts index 46ca7e1ed9..6967b901ce 100644 --- a/types/express-rate-limit/index.d.ts +++ b/types/express-rate-limit/index.d.ts @@ -22,7 +22,7 @@ declare namespace RateLimit { headers?: boolean; keyGenerator?(req: express.Request, res: express.Response): string; max?: number; - message?: string | Buffer | Object; + message?: string | Buffer | object; skip?(req: express.Request, res: express.Response): boolean; skipFailedRequests?: boolean; statusCode?: number; From 69b92989d384e8e8ee15c7724a1bf99c4629c611 Mon Sep 17 00:00:00 2001 From: Duran <31602742+duranhumes@users.noreply.github.com> Date: Mon, 24 Dec 2018 11:54:13 -0500 Subject: [PATCH 4/5] Added message interface Added message interface to account for known and unknown keys --- types/express-rate-limit/index.d.ts | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/types/express-rate-limit/index.d.ts b/types/express-rate-limit/index.d.ts index 6967b901ce..35e30ec936 100644 --- a/types/express-rate-limit/index.d.ts +++ b/types/express-rate-limit/index.d.ts @@ -14,6 +14,12 @@ declare namespace RateLimit { decrement(key: string): void; resetKey(key: string): void; } + + interface Message { + status: number + message: string + [key: string]: any + } interface Options { delayAfter?: number; @@ -22,7 +28,7 @@ declare namespace RateLimit { headers?: boolean; keyGenerator?(req: express.Request, res: express.Response): string; max?: number; - message?: string | Buffer | object; + message?: string | Buffer | Message; skip?(req: express.Request, res: express.Response): boolean; skipFailedRequests?: boolean; statusCode?: number; From dc7b97e0cba942a21922078d72a8375cd64adca7 Mon Sep 17 00:00:00 2001 From: Duran <31602742+duranhumes@users.noreply.github.com> Date: Mon, 24 Dec 2018 12:01:22 -0500 Subject: [PATCH 5/5] Formmating --- types/express-rate-limit/index.d.ts | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/types/express-rate-limit/index.d.ts b/types/express-rate-limit/index.d.ts index 35e30ec936..b3f074f28d 100644 --- a/types/express-rate-limit/index.d.ts +++ b/types/express-rate-limit/index.d.ts @@ -14,11 +14,11 @@ declare namespace RateLimit { decrement(key: string): void; resetKey(key: string): void; } - + interface Message { - status: number - message: string - [key: string]: any + status: number; + message: string; + [key: string]: any; } interface Options {