feat: exclude webhook route from rate limiting

This commit is contained in:
Henry
2026-01-25 21:16:18 +00:00
parent c94d08b35c
commit c53c4b56c2

View File

@@ -4,7 +4,6 @@ import type { Readable } from "node:stream";
import { createNextApiContext } from "@kan/api/trpc"; import { createNextApiContext } from "@kan/api/trpc";
import * as workspaceRepo from "@kan/db/repository/workspace.repo"; import * as workspaceRepo from "@kan/db/repository/workspace.repo";
import { createStripeClient } from "@kan/stripe"; import { createStripeClient } from "@kan/stripe";
import { withRateLimit } from "~/utils/rateLimit";
async function buffer(readable: Readable) { async function buffer(readable: Readable) {
const chunks = []; const chunks = [];
@@ -14,9 +13,10 @@ async function buffer(readable: Readable) {
return Buffer.concat(chunks); return Buffer.concat(chunks);
} }
export default withRateLimit( export default async function handler(
{ points: 100, duration: 60 }, req: NextApiRequest,
async (req: NextApiRequest, res: NextApiResponse) => { res: NextApiResponse,
) {
const stripe = createStripeClient(); const stripe = createStripeClient();
if (req.method !== "POST") { if (req.method !== "POST") {
@@ -64,8 +64,7 @@ export default withRateLimit(
console.error("Webhook error:", err); console.error("Webhook error:", err);
return res.status(400).json({ message: "Webhook handler failed" }); return res.status(400).json({ message: "Webhook handler failed" });
} }
}, }
);
export const config = { export const config = {
api: { api: {