From ea676ddd0351bdf5949c19aeead2fdaeb668dcbf Mon Sep 17 00:00:00 2001 From: Flam3rboy <34555296+Flam3rboy@users.noreply.github.com> Date: Sun, 27 Jun 2021 23:14:13 +0200 Subject: :lock: register proxy ip check --- src/middlewares/RateLimit.ts | 47 +++++--------------------------------------- 1 file changed, 5 insertions(+), 42 deletions(-) (limited to 'src/middlewares/RateLimit.ts') diff --git a/src/middlewares/RateLimit.ts b/src/middlewares/RateLimit.ts index 09d109e1..24f4013f 100644 --- a/src/middlewares/RateLimit.ts +++ b/src/middlewares/RateLimit.ts @@ -1,45 +1,8 @@ -import { NextFunction, Request, Response } from "express"; +import { db, MongooseCache } from "@fosscord/server-util"; +import { NextFunction } from "express"; -import { getIpAdress } from "./GlobalRateLimit"; +const Cache = new MongooseCache(db.collection("ratelimit"), [], { onlyEvents: false }); -export function RateLimit({ count = 10, timespan = 1000 * 5, name = "/" }) { - return async (req: Request, res: Response, next: NextFunction) => { - return next(); - // TODO: use new db mongoose models - /* - - let id = req.user_id || getIpAdress(req); - - const limit: { count: number; start: number } = (await db.data.ratelimit.routes[name][id].get()) || { - count: 0, - start: Date.now(), - }; - - if (limit.start < Date.now() - timespan) { - limit.start = Date.now(); - limit.count = 0; - } - - if (limit.count > count) { - const wait = Date.now() - limit.start; - - return res - .set("Retry-After", `${wait.toFixed(0)}`) - .set("X-RateLimit-Limit", `${count}`) - .set("X-RateLimit-Remaining", "0") - .set("X-RateLimit-Reset", `${limit.start + wait}`) - .set("X-RateLimit-Reset-After", `${wait}`) - .set("X-RateLimit-Bucket", name) - .set("X-RateLimit-Global", "false") - .status(429) - .json({ - message: "You are being rate limited.", - retry_after: wait, - global: false, - }); - } - - return next(); - */ - }; +export default function RateLimit({}) { + return async (req: Request, res: Response, next: NextFunction) => {}; } -- cgit 1.5.1