Bun.serve. Inside fetch, we attempt to upgrade incoming ws: or wss: requests to WebSocket connections. Bun.serve. Inside fetch, we attempt to upgrade incoming ws: or wss: requests to WebSocket connections. const server = Bun.serve({ fetch(req, server) { const success = server.upgrade(req); if (success) { // Bun automatically returns a 101 Switching Protocols // if the upgrade succeeds return undefined; } // handle HTTP request normally return new Response("Hello world!"); }, websocket: { // TypeScript: specify the type of ws.data like this data: {} as { authToken: string }, // this is called when a message is received async message(ws, message) { console.log(`Received ${message}`); // send back a message ws.send(`You said: ${message}`); }, }, }); console.log(`Listening on ${server.hostname}:${server.port}`); Was this page helpful?