From 8083148d038b0cb7b4e96248e6bf9de94b138387 Mon Sep 17 00:00:00 2001 From: Alex Gleason Date: Thu, 23 Jan 2025 15:27:24 -0600 Subject: [PATCH] Don't include ratelimit headers on the default bucket --- src/app.ts | 2 +- src/middleware/rateLimitMiddleware.ts | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/src/app.ts b/src/app.ts index 7b4316a3..9ef0f70b 100644 --- a/src/app.ts +++ b/src/app.ts @@ -178,7 +178,7 @@ const publicFiles = serveStatic({ root: './public/' }); const staticFiles = serveStatic({ root: './static/' }); app.use('*', cacheControlMiddleware({ noStore: true })); -app.use('*', rateLimitMiddleware(300, Time.minutes(5))); +app.use('*', rateLimitMiddleware(300, Time.minutes(5), false)); app.use('/api/*', metricsMiddleware, paginationMiddleware, logger(debug)); app.use('/.well-known/*', metricsMiddleware, logger(debug)); diff --git a/src/middleware/rateLimitMiddleware.ts b/src/middleware/rateLimitMiddleware.ts index e21d8000..e7a43328 100644 --- a/src/middleware/rateLimitMiddleware.ts +++ b/src/middleware/rateLimitMiddleware.ts @@ -4,11 +4,12 @@ import { rateLimiter } from 'hono-rate-limiter'; /** * Rate limit middleware for Hono, based on [`hono-rate-limiter`](https://github.com/rhinobase/hono-rate-limiter). */ -export function rateLimitMiddleware(limit: number, windowMs: number): MiddlewareHandler { +export function rateLimitMiddleware(limit: number, windowMs: number, includeHeaders?: boolean): MiddlewareHandler { // @ts-ignore Mismatched hono versions. return rateLimiter({ limit, windowMs, + standardHeaders: includeHeaders, handler: (c) => { c.header('Cache-Control', 'no-store'); return c.text('Too many requests, please try again later.', 429);