Render contextual errors? This enables bun's error page
Symbol
WebSocketServeOptions
interface WebSocketServeOptions<WebSocketDataType = undefined>
- id?: null | string
Uniquely identify a server instance with an ID
When bun is started with the
--hot
flagThis string will be used to hot reload the server without interrupting pending requests or websockets. If not provided, a value will be generated. To disable hot reloading, set this value to
null
.When bun is not started with the
--hot
flagThis string will currently do nothing. But in the future it could be useful for logs or metrics.
- websocket: WebSocketHandler<WebSocketDataType>
Enable websockets with Bun.serve
For simpler type safety, see Bun.websocket
Bun.serve({ websocket: { open: (ws) => { console.log("Client connected"); }, message: (ws, message) => { console.log("Client sent message", message); }, close: (ws) => { console.log("Client disconnected"); }, }, fetch(req, server) { const url = new URL(req.url); if (url.pathname === "/chat") { const upgraded = server.upgrade(req); if (!upgraded) { return new Response("Upgrade failed", { status: 400 }); } } return new Response("Hello World"); }, });
Upgrade a Request to a ServerWebSocket via Server.upgrade
Pass
data
in @{link Server.upgrade} to attach data to the ServerWebSocket.data property