From d84956f978cbc72001773db25979225c4ba61303 Mon Sep 17 00:00:00 2001 From: SsuJo_ <1049731887@qq.com> Date: Wed, 6 May 2026 23:09:44 +0800 Subject: [PATCH] fix: handle global OPTIONS preflight requests --- src/index.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/src/index.ts b/src/index.ts index e2a6941b..7b928459 100644 --- a/src/index.ts +++ b/src/index.ts @@ -104,6 +104,17 @@ export async function startServer(options?: StartOptions): Promise // Create Hono app const app = new Hono(); + app.options("*", (c) => { + const origin = c.req.header("Origin") ?? "*"; + const requestHeaders = c.req.header("Access-Control-Request-Headers"); + c.header("Access-Control-Allow-Origin", origin); + c.header("Access-Control-Allow-Methods", "GET,POST,PUT,PATCH,DELETE,OPTIONS"); + c.header("Access-Control-Allow-Headers", requestHeaders ?? "Authorization, Content-Type"); + c.header("Access-Control-Max-Age", "86400"); + if (origin !== "*") c.header("Vary", "Origin, Access-Control-Request-Headers"); + return c.body(null, 204); + }); + // Global middleware app.use("*", requestId); app.use("*", logger);