From 9bbd15557364052f6fc53b5ed6126014e1ac793f Mon Sep 17 00:00:00 2001 From: wonderlandpark Date: Fri, 5 Mar 2021 10:57:24 +0900 Subject: [PATCH] chore: added endpoints to ignore ratelmit --- utils/Constants.ts | 4 ++++ utils/RequestHandler.ts | 7 ++++++- 2 files changed, 10 insertions(+), 1 deletion(-) diff --git a/utils/Constants.ts b/utils/Constants.ts index a4d7d2d..c79a1b8 100644 --- a/utils/Constants.ts +++ b/utils/Constants.ts @@ -179,6 +179,10 @@ export const KoreanbotsEndPoints = { logout: '/api/auth/discord/logout' } +export const GlobalRatelimitIgnore = [ + '/api/image/discord/avatars/' +] + export const Oauth = { discord: (clientID: string, scope: string) => `https://discord.com/oauth2/authorize?client_id=${clientID}&scope=${scope}&permissions=0&response_type=code&redirect_uri=${process.env.KOREANBOTS_URL}/api/auth/discord/callback&prompt=none` } diff --git a/utils/RequestHandler.ts b/utils/RequestHandler.ts index 9522ef1..40cfb49 100644 --- a/utils/RequestHandler.ts +++ b/utils/RequestHandler.ts @@ -1,7 +1,9 @@ import { NextApiRequest, NextApiResponse } from 'next' import nc from 'next-connect' import rateLimit from 'express-rate-limit' + import ResponseWrapper from '@utils/ResponseWrapper' +import { GlobalRatelimitIgnore } from '@utils/Constants' const limiter = rateLimit({ windowMs: 60 * 1000, @@ -9,7 +11,10 @@ const limiter = rateLimit({ statusCode: 429, handler: (_req, res) => ResponseWrapper(res, { code: 429 }), keyGenerator: (req) => req.headers['x-forwarded-for'] as string, - + skip: (req) => { + if(GlobalRatelimitIgnore.map(el => req.url.startsWith(el)).find(el => el)) return true + return false + } }) const RequestHandler = () => nc({