Перейти к содержимому
Русский

HttpServerBackend

Это содержимое пока не доступно на вашем языке.

Defined in: src/http/backend/HttpServerBackend.ts:64

Pluggable HTTP server abstraction. Backends translate our generic route registrations to their native framework (Fastify, Bun.serve, Express, …). The DSL only ever talks to this interface.

readonly name: string

Defined in: src/http/backend/HttpServerBackend.ts:65

listen(host, port): Promise<ServerBinding>

Defined in: src/http/backend/HttpServerBackend.ts:71

Start listening. Returns a ServerBinding with the actual bound port.

string

number

Promise<ServerBinding>


registerRoute(route): void

Defined in: src/http/backend/HttpServerBackend.ts:68

Register all routes before listen is called. Duplicate paths must be rejected.

RouteRegistration

void


optional registerWebSocket(reg): void

Defined in: src/http/backend/HttpServerBackend.ts:94

Optional capability: register a WebSocket endpoint. Backends that implement this support websocket() routes; absence is detected by HttpExtension.bind and reported as a clear error.

WebsocketRouteRegistration

void


optional setDefaultResponseHeaders(headers): void

Defined in: src/http/backend/HttpServerBackend.ts:107

Optional: replace the header map the backend writes ahead of every response it emits — including the error, not-found and upgrade-reject responses no middleware ever sees. A response’s own header must still win, so these are written first and overwritten, not merged over.

HttpExtension wires withSecurityHeaders(...) here and passes {} for the opt-out. It is only called when that was configured: a backend comes with its own default (DEFAULT_RESPONSE_SECURITY_HEADERS for the shipped ones), so an untouched builder must not overwrite it.

Readonly<Record<string, string>>

void


optional setErrorHandler(handler): void

Defined in: src/http/backend/HttpServerBackend.ts:87

Optional: register a last-resort error handler. It MUST see both errors thrown by route handlers AND backend-internal errors (body parsing, etc.); if it throws, the backend falls back to its default error mapping. HttpExtension wires withErrorHandler here.

(err, request) => HttpResponse | Promise<HttpResponse>

void


optional setNotFound(handler): void

Defined in: src/http/backend/HttpServerBackend.ts:79

Optional: register a method-agnostic not-found handler, invoked for any request that matched no route (including unmatched OPTIONS/HEAD). HttpExtension wires fallback() here. If the handler throws, the backend applies its default error mapping.

(request) => HttpResponse | Promise<HttpResponse>

void