aboutsummaryrefslogtreecommitdiff
path: root/docs/guides/websocket/compression.md
diff options
context:
space:
mode:
Diffstat (limited to 'docs/guides/websocket/compression.md')
-rw-r--r--docs/guides/websocket/compression.md31
1 files changed, 31 insertions, 0 deletions
diff --git a/docs/guides/websocket/compression.md b/docs/guides/websocket/compression.md
new file mode 100644
index 000000000..e98d8f0c9
--- /dev/null
+++ b/docs/guides/websocket/compression.md
@@ -0,0 +1,31 @@
+---
+name: Enable compression for WebSocket messages
+---
+
+Per-message compression can be enabled with the `perMessageDeflate` parameter. When set, all messages will be compressed using the [permessage-deflate](https://tools.ietf.org/html/rfc7692) WebSocket extension.
+
+```ts
+Bun.serve({
+ // ...
+ websocket: {
+ // enable compression
+ perMessageDeflate: true,
+ },
+});
+```
+
+---
+
+To enable compression for individual messages, pass `true` as the second parameter to `ws.send()`.
+
+```ts
+Bun.serve({
+ // ...
+ websocket: {
+ async message(ws, message) {
+ // send a compressed message
+ ws.send("Hello world!", true);
+ },
+ },
+});
+```