Documentation / zerotal / index / CorsMiddleware
Class: CorsMiddleware
Defined in: packages/core/src/middleware/CorsMiddleware.ts:58
CORS middleware — adds Access-Control-* headers to every response and short-circuits HTTP OPTIONS preflight requests with 204.
Example
// Global (most common):
app.use(new CorsMiddleware());
// Restrict to specific origins (the usual case):
app.use(CorsMiddleware.with({ origin: 'https://app.example.com', credentials: true }));
// Dynamic per-origin check — compare the whole origin, never a suffix:
app.use(CorsMiddleware.with({
origin: (o) => o.startsWith('https://') && new URL(o).hostname.endsWith('.example.com'),
}));
Extends
Constructors
Constructor
new CorsMiddleware(
options?):CorsMiddleware
Defined in: packages/core/src/middleware/CorsMiddleware.ts:68
Parameters
options?
CorsOptions = {}
Returns
CorsMiddleware
Overrides
Properties
options
protectedoptions:CorsOptions
Defined in: packages/core/src/middleware/CorsMiddleware.ts:59
Subclasses must declare this with their default option values. TypeScript enforces this at compile time — forgetting it is a type error.
Overrides
Methods
with()
staticwith<T,Opts>(this,options): () =>InstanceType<T>
Defined in: packages/core/src/middleware/BaseMiddleware.ts:48
Returns a zero-arg subclass with the given options deep-merged on top of the subclass defaults, usable directly in app.use([...]).
Type Parameters
T
T extends (...args) => BaseMiddleware<any>
Opts
Opts = T extends (...args) => BaseMiddleware<U> ? U : object
Parameters
this
T
options
Partial<Opts>
Returns
() => InstanceType<T>
Inherited from
afterResponse()?
optionalafterResponse(ctx):Promise<void>
Defined in: packages/core/src/middleware/BaseMiddleware.ts:70
Parameters
ctx
Returns
Promise<void>
Inherited from
onError()?
optionalonError(ctx,error):Promise<void>
Defined in: packages/core/src/middleware/BaseMiddleware.ts:71
Parameters
ctx
error
Error
Returns
Promise<void>
Inherited from
handle()
handle(
http,next):Promise<void|Response>
Defined in: packages/core/src/middleware/CorsMiddleware.ts:76
Parameters
http
next
Returns
Promise<void | Response>