diff --git a/src/utils/cors/utils.ts b/src/utils/cors/utils.ts index a83872f1..1e15b2c3 100644 --- a/src/utils/cors/utils.ts +++ b/src/utils/cors/utils.ts @@ -1,6 +1,6 @@ import { defu } from "defu"; import { appendHeaders } from "../response"; -import { getMethod, getRequestHeaders, getRequestHeader } from "../request"; +import { getRequestHeaders, getRequestHeader } from "../request"; import type { H3Event } from "../../event"; import type { H3CorsOptions, @@ -32,14 +32,13 @@ export function resolveCorsOptions( } export function isPreflightRequest(event: H3Event): boolean { - const method = getMethod(event); const origin = getRequestHeader(event, "origin"); const accessControlRequestMethod = getRequestHeader( event, "access-control-request-method" ); - return method === "OPTIONS" && !!origin && !!accessControlRequestMethod; + return event.method === "OPTIONS" && !!origin && !!accessControlRequestMethod; } export function isCorsOriginAllowed( diff --git a/src/utils/request.ts b/src/utils/request.ts index 65cdc1b9..89cb09e0 100644 --- a/src/utils/request.ts +++ b/src/utils/request.ts @@ -37,6 +37,9 @@ export function getRouterParam( return params[name]; } +/** + * @deprecated Directly use `event.method` instead. + */ export function getMethod( event: H3Event, defaultMethod: HTTPMethod = "GET" @@ -49,17 +52,15 @@ export function isMethod( expected: HTTPMethod | HTTPMethod[], allowHead?: boolean ) { - const method = getMethod(event); - - if (allowHead && method === "HEAD") { + if (allowHead && event.method === "HEAD") { return true; } if (typeof expected === "string") { - if (method === expected) { + if (event.method === expected) { return true; } - } else if (expected.includes(method)) { + } else if (expected.includes(event.method)) { return true; } diff --git a/test/cors.test.ts b/test/cors.test.ts index d913a960..cf1dba3c 100644 --- a/test/cors.test.ts +++ b/test/cors.test.ts @@ -55,9 +55,9 @@ describe("resolveCorsOptions", () => { describe("isPreflightRequest", () => { it("can detect preflight request", () => { const eventMock = { + method: "OPTIONS", node: { req: { - method: "OPTIONS", headers: { origin: "http://example.com", "access-control-request-method": "GET", diff --git a/test/event.test.ts b/test/event.test.ts index f468c8a2..3478887a 100644 --- a/test/event.test.ts +++ b/test/event.test.ts @@ -1,12 +1,6 @@ import supertest, { SuperTest, Test } from "supertest"; import { describe, it, expect, beforeEach } from "vitest"; -import { - createApp, - App, - toNodeListener, - eventHandler, - getMethod, -} from "../src"; +import { createApp, App, toNodeListener, eventHandler } from "../src"; describe("Event", () => { let app: App; @@ -21,7 +15,7 @@ describe("Event", () => { app.use( "/", eventHandler((event) => { - expect(event.method).toBe(getMethod(event)); + expect(event.method).toBe(event.method); expect(event.method).toBe("POST"); return "200"; }) diff --git a/test/proxy.test.ts b/test/proxy.test.ts index 536694b9..87fbfd83 100644 --- a/test/proxy.test.ts +++ b/test/proxy.test.ts @@ -9,7 +9,6 @@ import { App, eventHandler, getHeaders, - getMethod, setHeader, readRawBody, setCookie, @@ -77,7 +76,7 @@ describe("", () => { body = await readRawBody(event); } catch {} return { - method: getMethod(event), + method: event.method, headers, body, }; diff --git a/test/utils.test.ts b/test/utils.test.ts index cfae633b..0cf30e67 100644 --- a/test/utils.test.ts +++ b/test/utils.test.ts @@ -8,7 +8,6 @@ import { assertMethod, toNodeListener, eventHandler, - getMethod, getQuery, getRequestURL, readFormData, @@ -88,7 +87,7 @@ describe("", () => { it("can get method", async () => { app.use( "/", - eventHandler((event) => getMethod(event)) + eventHandler((event) => event.method) ); expect((await request.get("/api")).text).toBe("GET"); expect((await request.post("/api")).text).toBe("POST");