@whatwg-node/server
Version:
Fetch API compliant HTTP Server adapter
14 lines (13 loc) • 1.03 kB
TypeScript
import { DefaultServerAdapterContext, ServerAdapterBaseObject } from '../types';
export type CORSOptions = {
origin?: string[] | string;
methods?: string[];
allowedHeaders?: string[];
exposedHeaders?: string[];
credentials?: boolean;
maxAge?: number;
} | false;
export type WithCORSOptions<TServerContext> = CORSOptionsFactory<TServerContext> | CORSOptions | boolean;
export type CORSOptionsFactory<TServerContext> = (request: Request, ...args: {} extends TServerContext ? [serverContext?: TServerContext | undefined] : [serverContext: TServerContext]) => Promise<CORSOptions> | CORSOptions;
export declare function getCORSHeadersByRequestAndOptions(request: Request, corsOptions: CORSOptions): Record<string, string>;
export declare function withCORS<TServerContext = DefaultServerAdapterContext, TBaseObject extends ServerAdapterBaseObject<TServerContext> = ServerAdapterBaseObject<TServerContext>>(obj: TBaseObject, options: WithCORSOptions<TServerContext>, ResponseCtor?: typeof Response): TBaseObject;