diff --git a/src/controllers/error.ts b/src/controllers/error.ts index f7806db8..120e78a9 100644 --- a/src/controllers/error.ts +++ b/src/controllers/error.ts @@ -2,6 +2,8 @@ import { ErrorHandler } from '@hono/hono'; import { HTTPException } from '@hono/hono/http-exception'; export const errorHandler: ErrorHandler = (err, c) => { + c.header('Cache-Control', 'no-store'); + if (err instanceof HTTPException) { if (err.res) { return err.res; diff --git a/src/middleware/rateLimitMiddleware.ts b/src/middleware/rateLimitMiddleware.ts index 689f7cee..e21d8000 100644 --- a/src/middleware/rateLimitMiddleware.ts +++ b/src/middleware/rateLimitMiddleware.ts @@ -9,6 +9,10 @@ export function rateLimitMiddleware(limit: number, windowMs: number): Middleware return rateLimiter({ limit, windowMs, + handler: (c) => { + c.header('Cache-Control', 'no-store'); + return c.text('Too many requests, please try again later.', 429); + }, skip: (c) => !c.req.header('x-real-ip'), keyGenerator: (c) => c.req.header('x-real-ip')!, });