From 91075f8fb1264a6d50f3e8017ebc19a5d4f06034 Mon Sep 17 00:00:00 2001 From: Sean Brydon Date: Fri, 17 Nov 2023 11:26:05 +0000 Subject: [PATCH] Add path.identifer --- .../server/middlewares/rateLimitMiddleware.ts | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/packages/trpc/server/middlewares/rateLimitMiddleware.ts b/packages/trpc/server/middlewares/rateLimitMiddleware.ts index 7a4fb07d88..292956a215 100644 --- a/packages/trpc/server/middlewares/rateLimitMiddleware.ts +++ b/packages/trpc/server/middlewares/rateLimitMiddleware.ts @@ -1,22 +1,24 @@ +import type { NextApiRequest } from "next/types"; + import { checkRateLimitAndThrowError } from "@calcom/lib/checkRateLimitAndThrowError"; -import { IS_PRODUCTION_BUILD } from "@calcom/lib/constants"; import getIP from "@calcom/lib/getIP"; import { middleware } from "../trpc"; -const rateLimitMiddleware = middleware(async (opts) => { - console.log(opts); +const rateLimitMiddleware = middleware(async ({ ctx, next, path, meta }) => { + console.log(ctx, meta); + if (true) { + const userIp = ctx.req && getIP(ctx.req as NextApiRequest); - if (IS_PRODUCTION_BUILD) { - const userIp = getIP(req); + const identifier = userIp || ctx?.user?.id.toString(); await checkRateLimitAndThrowError({ - rateLimitingType: "trpc", - identifier: userIp, + rateLimitingType: "core", + identifier: `${path}.${identifier}`, }); } - return opts.next(); + return next(); }); export default rateLimitMiddleware;