Zum Inhalt springen
Deutsch

FastifyBackend

Dieser Inhalt ist noch nicht in deiner Sprache verfügbar.

Defined in: src/http/backend/FastifyBackend.ts:41

Fastify-based default HTTP backend. Leans on Fastify for fast routing, body parsing (including raw-body support), and its plugin ecosystem. The directives DSL compiles down to plain Fastify route registrations — user code never interacts with Fastify types unless they explicitly opt in via backend.withPlugin(...).

new FastifyBackend(options?): FastifyBackend

Defined in: src/http/backend/FastifyBackend.ts:51

object = ...

FastifyBackend

readonly name: "fastify" = 'fastify'

Defined in: src/http/backend/FastifyBackend.ts:42

HttpServerBackend.name

listen(host, port): Promise<ServerBinding>

Defined in: src/http/backend/FastifyBackend.ts:116

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

string

number

Promise<ServerBinding>

HttpServerBackend.listen


registerRoute(route): void

Defined in: src/http/backend/FastifyBackend.ts:69

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

RouteRegistration

void

HttpServerBackend.registerRoute


registerWebSocket(reg): void

Defined in: src/http/backend/FastifyBackend.ts:86

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

HttpServerBackend.registerWebSocket


setDefaultResponseHeaders(headers): void

Defined in: src/http/backend/FastifyBackend.ts:101

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

HttpServerBackend.setDefaultResponseHeaders


setErrorHandler(handler): void

Defined in: src/http/backend/FastifyBackend.ts:105

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

HttpServerBackend.setErrorHandler


setNotFound(handler): void

Defined in: src/http/backend/FastifyBackend.ts:93

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

HttpServerBackend.setNotFound


withPlugin(plugin, options?): Promise<void>

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

Escape hatch: register a native Fastify plugin (e.g. @fastify/cors).

unknown

object

Promise<void>