Don't include ratelimit headers on the default bucket

This commit is contained in:
Alex Gleason 2025-01-23 15:27:24 -06:00
parent 3fdd6e2213
commit 8083148d03
No known key found for this signature in database
GPG key ID: 7211D1F99744FBB7
2 changed files with 3 additions and 2 deletions

View file

@ -178,7 +178,7 @@ const publicFiles = serveStatic({ root: './public/' });
const staticFiles = serveStatic({ root: './static/' }); const staticFiles = serveStatic({ root: './static/' });
app.use('*', cacheControlMiddleware({ noStore: true })); 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('/api/*', metricsMiddleware, paginationMiddleware, logger(debug));
app.use('/.well-known/*', metricsMiddleware, logger(debug)); app.use('/.well-known/*', metricsMiddleware, logger(debug));

View file

@ -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). * 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. // @ts-ignore Mismatched hono versions.
return rateLimiter({ return rateLimiter({
limit, limit,
windowMs, windowMs,
standardHeaders: includeHeaders,
handler: (c) => { handler: (c) => {
c.header('Cache-Control', 'no-store'); c.header('Cache-Control', 'no-store');
return c.text('Too many requests, please try again later.', 429); return c.text('Too many requests, please try again later.', 429);