DecompressionStream

Classin globals@fastly/js-compute 3.46.0View source

An API for decompressing a stream of data.

See also

1
2
3
4
5
6
7
8
9
10
11
12
13
In this example a request is made to httpbin.org/gzip and the response body is decompressed using gzip decompression.
View this example on [Fiddle](https://fiddle.fastly.dev/fiddle/637add51).
```js
async function app(event) {
const backendResponse = await fetch("https://httpbin.org/gzip", { backend: "origin_0" });
let resp = new Response(backendResponse.body.pipeThrough(new DecompressionStream("gzip")), backendResponse);
resp.headers.delete('content-encoding');
return resp;
}
addEventListener("fetch", event => event.respondWith(app(event)));
```

Constructor

new DecompressionStream(format: 'deflate' | 'deflate-raw' | 'gzip')

Creates a new DecompressionStream object which decompresses a stream of data.

Parameters

format: 'deflate' | 'deflate-raw' | 'gzip'

The compression format to use.

Throws

  • Throws a TypeError if the format passed to the constructor is not supported.
const gzip = new DecompressionStream("gzip");

Properties

let stream = new DecompressionStream("gzip");
console.log(stream.readable instanceof ReadableStream); // true
let stream = new DecompressionStream("gzip");
console.log(stream.writable instanceof WritableStream); // true