Files
vat-api.eu/node_modules/@nuxt/schema/dist/_chunks/libs/h3.d.mts
2026-02-13 22:02:30 +01:00

44 lines
1.3 KiB
TypeScript

import { IncomingMessage, ServerResponse } from "node:http";
import { Readable } from "node:stream";
//#region ../../node_modules/.pnpm/h3@1.15.5/node_modules/h3/dist/index.d.ts
type HTTPMethod = "GET" | "HEAD" | "PATCH" | "POST" | "PUT" | "DELETE" | "CONNECT" | "OPTIONS" | "TRACE";
interface H3CorsOptions {
origin?: "*" | "null" | (string | RegExp)[] | ((origin: string) => boolean);
methods?: "*" | HTTPMethod[];
allowHeaders?: "*" | string[];
exposeHeaders?: "*" | string[];
credentials?: boolean;
maxAge?: string | false;
preflight?: {
statusCode?: number;
};
}
/**
* Handle CORS for the incoming request.
*
* If the incoming request is a CORS preflight request, it will append the CORS preflight headers and send a 204 response.
*
* If return value is `true`, the request is handled and no further action is needed.
*
* @example
* const app = createApp();
* const router = createRouter();
* router.use('/',
* defineEventHandler(async (event) => {
* const didHandleCors = handleCors(event, {
* origin: '*',
* preflight: {
* statusCode: 204,
* },
* methods: '*',
* });
* if (didHandleCors) {
* return;
* }
* // Your code here
* })
* );
*/
//#endregion
export { H3CorsOptions as t };