CompressionStream
1234567891011121314151617In this example a request is made to httpbin.org/html and the response body is compressed using gzip compression.
View this example on [Fiddle](https://fiddle.fastly.dev/fiddle/c1326776).
```jsasync function app(event) { const req = event.request; const backendResponse = await fetch("https://httpbin.org/html", { backend: "my-backend" }); if (!backendResponse.body) { return backendResponse; } let resp = new Response(backendResponse.body.pipeThrough(new CompressionStream("gzip")), backendResponse); resp.headers.set("Content-Encoding", "gzip"); return resp;}addEventListener("fetch", event => event.respondWith(app(event)));```Constructor
new CompressionStream(format: 'deflate' | 'deflate-raw' | 'gzip')Creates a new CompressionStream object which compresses a stream of data.
Parameters
- format: 'deflate' | 'deflate-raw' | 'gzip'
The compression format to use.
Throws
- Throws a
TypeErrorif the format passed to the constructor is not supported.
const gzip = new CompressionStream("gzip");Properties
let stream = new CompressionStream("gzip");console.log(stream.readable instanceof ReadableStream); // truelet stream = new CompressionStream("gzip");console.log(stream.writable instanceof WritableStream); // true