UNPKG

@alessiofrittoli/next-api

Version:
54 lines (51 loc) 1.59 kB
export { N as NextResponse } from '../NextResponse-dit4yHQK.js'; import { A as Api } from '../types-Cxk-bdcN.js'; export { C as CorsHeadersOptions, N as NextResponseProps, a as NextResponseStreamInput } from '../types-Cxk-bdcN.js'; import '@alessiofrittoli/exception/code'; import '@alessiofrittoli/stream-reader/types'; import 'next/server'; import '@alessiofrittoli/exception'; import '../page-DAsxsEeP.js'; import 'next'; import 'fs'; import 'node:stream/web'; /** * Return a proper Response for the `OPTIONS` preflight request. * * @param request The `NextRequest` object. * @param ctx The API Route Request context. * @param cors ( Optional ) Custom CORS policy options. See {@link Api.CORS.Policy} for available options. Default: `true`. * @returns A new `NextResponse` instance. * * @example * * #### Basic usage * * ```ts * // src/app/api/v1/route.ts * import { corsPreflight } from '@alessiofrittoli/next-api/response' * * export const OPTIONS = corsPreFlight * ``` * * --- * * @example * * #### Defining custom CORS Policy options * * ```ts * // src/app/api/v1/route.ts * import { corsPreflight } from '@alessiofrittoli/next-api/response' * * export const OPTIONS: Api.Route.Handler = ( request ) => corsPreflight( request, undefined, { * credentials : true, * exposedHeaders : [ 'X-Custom-Header' ], * headers : [ 'X-CORS-Request-Allowed-Header' ], * methods : [ 'GET' ], * origin : 'https://allowed-origin.it', * } ) * ``` */ declare const corsPreflight: Api.Route.CorsPreFlightHandler; export { corsPreflight };