fix(v1): avoid overwriting rateLimiterMode with FIRE-1 rate limiter (#1593)

This commit is contained in:
Gergő Móricz 2025-05-23 16:50:59 +02:00 committed by GitHub
parent 3df687e4db
commit 3ec17e2d1a
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

View File

@ -90,39 +90,20 @@ function checkCreditsMiddleware(
} }
export function authMiddleware( export function authMiddleware(
rateLimiterMode: RateLimiterMode, rateLimiterMode: RateLimiterMode
reference?: {
extract: RateLimiterMode,
extractAgentPreview: RateLimiterMode,
}
): (req: RequestWithMaybeAuth, res: Response, next: NextFunction) => void { ): (req: RequestWithMaybeAuth, res: Response, next: NextFunction) => void {
const middlewareSpawn = new Error().stack;
return (req, res, next) => { return (req, res, next) => {
(async () => { (async () => {
if (rateLimiterMode === RateLimiterMode.Extract && isAgentExtractModelValid((req.body as any)?.agent?.model)) { let currentRateLimiterMode = rateLimiterMode;
logger.debug("Picking extract agent preview mode", { if (currentRateLimiterMode === RateLimiterMode.Extract && isAgentExtractModelValid((req.body as any)?.agent?.model)) {
body: req.body, currentRateLimiterMode = RateLimiterMode.ExtractAgentPreview;
model: (req.body as any)?.agent?.model,
});
rateLimiterMode = RateLimiterMode.ExtractAgentPreview;
} else if (rateLimiterMode === RateLimiterMode.ExtractAgentPreview) {
logger.warn("EAP passed into authMiddleware directly?", {
body: req.body,
callStack: new Error().stack,
modes: {
extract: RateLimiterMode.Extract,
extractAgentPreview: RateLimiterMode.ExtractAgentPreview,
},
middlewareSpawn,
reference,
});
} }
// if (rateLimiterMode === RateLimiterMode.Scrape && isAgentExtractModelValid((req.body as any)?.agent?.model)) { // if (currentRateLimiterMode === RateLimiterMode.Scrape && isAgentExtractModelValid((req.body as any)?.agent?.model)) {
// rateLimiterMode = RateLimiterMode.ScrapeAgentPreview; // currentRateLimiterMode = RateLimiterMode.ScrapeAgentPreview;
// } // }
const auth = await authenticateUser(req, res, rateLimiterMode); const auth = await authenticateUser(req, res, currentRateLimiterMode);
if (!auth.success) { if (!auth.success) {
if (!res.headersSent) { if (!res.headersSent) {
@ -273,10 +254,7 @@ v1Router.ws("/crawl/:jobId", crawlStatusWSController);
v1Router.post( v1Router.post(
"/extract", "/extract",
authMiddleware(RateLimiterMode.Extract, { authMiddleware(RateLimiterMode.Extract),
extract: RateLimiterMode.Extract,
extractAgentPreview: RateLimiterMode.ExtractAgentPreview,
}),
checkCreditsMiddleware(1), checkCreditsMiddleware(1),
wrap(extractController), wrap(extractController),
); );