next-armored
Version:
Security middlewares for Next.js
26 lines (22 loc) • 808 B
text/typescript
import { NextRequest } from 'next/server';
import { NextMiddlewareResult } from 'next/dist/server/web/types';
type Method = 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH' | 'OPTIONS';
type Origin = string | RegExp;
type CorsConfig = {
origins: Origin[];
methods?: Method[];
headers?: string[];
allowCredentials?: boolean;
exposedHeaders?: string[];
maxAge?: number;
preflightContinue?: boolean;
optionsSuccessStatus?: number;
};
type NextCorsMiddleware = (request: NextRequest) => NextMiddlewareResult;
/**
* @description
* @param config
* @returns
*/
declare const createCorsMiddleware: ({ origins, methods, headers, allowCredentials, exposedHeaders, maxAge, optionsSuccessStatus, preflightContinue, }: CorsConfig) => NextCorsMiddleware;
export { createCorsMiddleware };