Skip to main content
Per-message compression can be enabled with the perMessageDeflate parameter. When set, all messages will be compressed using the permessage-deflate WebSocket extension.
https://mintcdn.com/bun-1dd33a4e-claude-bun-git-module/aYd6IH1DX0gD-k_I/icons/typescript.svg?fit=max&auto=format&n=aYd6IH1DX0gD-k_I&q=85&s=49fc2d2e9587ce2222ea6cc2b60db513server.ts
Bun.serve({
  // ...
  websocket: {
    // enable compression
    perMessageDeflate: true,
  },
});

To enable compression for individual messages, pass true as the second parameter to ws.send().
https://mintcdn.com/bun-1dd33a4e-claude-bun-git-module/aYd6IH1DX0gD-k_I/icons/typescript.svg?fit=max&auto=format&n=aYd6IH1DX0gD-k_I&q=85&s=49fc2d2e9587ce2222ea6cc2b60db513server.ts
Bun.serve({
  // ...
  websocket: {
    async message(ws, message) {
      // send a compressed message
      ws.send(message, true);
    },
  },
});