method BunServeHost.serve
BunServeHost.serve(options: { port: number; hostname?: string; fetch: (
request: Request,
server: BunServer
) => Response | undefined | Promise<Response | undefined>
; websocket?: BunWebSocketHandlers; }
): BunServer

Starts an HTTP server.

The fetch callback receives the BunServer as its second argument (Bun's own signature) because server.upgrade() is the only way to perform a WebSocket handshake, and it may resolve undefined to tell Bun that the request was upgraded and needs no response.

Parameters

options: { port: number; hostname?: string; fetch: (
request: Request,
server: BunServer
) => Response | undefined | Promise<Response | undefined>
; websocket?: BunWebSocketHandlers; }

Server options

Return Type

The server handle

Usage

import { type BunServeHost } from "runtime/src/index.ts";