Skip to content

WebSocket

O Empilha delega o upgrade ao servidor nativo do Bun por meio de upgradeWebSocket().

ts
import { upgradeWebSocket } from "empilha/http";

const result = upgradeWebSocket(request, server, {
  userId: "42",
});

if (result) return result;
// O Bun aceitou o upgrade; o handler WebSocket assume a conexão.

O terceiro argumento é opcional e fica disponível como data nos callbacks do servidor Bun. Quando o upgrade é aceito, o helper retorna undefined. Quando o servidor rejeita a negociação, retorna uma resposta 400.

server precisa expor o método nativo upgrade(request, options), como o objeto recebido na configuração de Bun.serve().

Quando usar SSE

Use SSE quando apenas o servidor precisa enviar eventos. Use WebSocket quando cliente e servidor precisam trocar mensagens na mesma conexão.

Feito para APIs que continuam simples quando crescem.