Skip to main content
zerotal

Documentation


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

BaseMiddleware.constructor

Properties

options

protected options: 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

BaseMiddleware.options

Methods

with()

static with<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

BaseMiddleware.with


afterResponse()?

optional afterResponse(ctx): Promise<void>

Defined in: packages/core/src/middleware/BaseMiddleware.ts:70

Parameters

ctx

HttpContext

Returns

Promise<void>

Inherited from

BaseMiddleware.afterResponse


onError()?

optional onError(ctx, error): Promise<void>

Defined in: packages/core/src/middleware/BaseMiddleware.ts:71

Parameters

ctx

HttpContext

error

Error

Returns

Promise<void>

Inherited from

BaseMiddleware.onError


handle()

handle(http, next): Promise<void | Response>

Defined in: packages/core/src/middleware/CorsMiddleware.ts:76

Parameters

http

HttpContext

next

NextFn

Returns

Promise<void | Response>

Overrides

BaseMiddleware.handle