Add rate limiting to unfurl endpoint

This commit is contained in:
Tom Moor
2023-07-22 13:27:58 -04:00
parent 5e705f3dc7
commit 8d549abaa9

View File

@@ -3,17 +3,20 @@ import parseDocumentSlug from "@shared/utils/parseDocumentSlug";
import parseMentionUrl from "@shared/utils/parseMentionUrl";
import { NotFoundError } from "@server/errors";
import auth from "@server/middlewares/authentication";
import { rateLimiter } from "@server/middlewares/rateLimiter";
import validate from "@server/middlewares/validate";
import { Document, User } from "@server/models";
import { authorize } from "@server/policies";
import { presentDocument, presentMention } from "@server/presenters/unfurls";
import { APIContext } from "@server/types";
import { RateLimiterStrategy } from "@server/utils/RateLimiter";
import * as T from "./schema";
const router = new Router();
router.post(
"urls.unfurl",
rateLimiter(RateLimiterStrategy.OneThousandPerHour),
auth(),
validate(T.UrlsUnfurlSchema),
async (ctx: APIContext<T.UrlsUnfurlReq>) => {