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/Hq64iapoQXHbYMEN/icons/typescript.svg?fit=max&auto=format&n=Hq64iapoQXHbYMEN&q=85&s=c6cceedec8f82d2cc803d7c6ec82b240server.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/Hq64iapoQXHbYMEN/icons/typescript.svg?fit=max&auto=format&n=Hq64iapoQXHbYMEN&q=85&s=c6cceedec8f82d2cc803d7c6ec82b240server.ts
Bun.serve({
	// ...
	websocket: {
		async message(ws, message) {
			// send a compressed message
			ws.send(message, true);
		},
	},
});