# finetune video performance
```javascript=
import zlib from 'zlib';
// ...
fetch('/api/endpoint')
.then(response => {
// Check the headers to see if the response is gzip-compressed
const contentEncoding = response.headers.get('content-encoding');
if (contentEncoding === 'gzip') {
// If it is, create a new stream to decompress the response
const gunzip = zlib.createGunzip();
const decompressedResponse = response.body.pipe(gunzip);
// Use the decompressed response as you normally would
// ...
} else {
// If the response is not gzip-compressed, you can use it directly
// ...
}
});
```
```javascript=
import zlib from 'zlib';
import { Image } from 'react-konva';
// ...
// Make a request to the API endpoint that returns gzip-compressed responses
fetch('/api/endpoint')
.then(response => {
// Check the headers to see if the response is gzip-compressed
const contentEncoding = response.headers.get('content-encoding');
if (contentEncoding === 'gzip') {
// If it is, create a new stream to decompress the response
const gunzip = zlib.createGunzip();
const decompressedResponse = response.body.pipe(gunzip);
// Use the decompressed response to create a new image
return new Promise((resolve, reject) => {
const img = new Image();
img.onload = () => resolve(img);
img.onerror = reject;
img.src = URL.createObjectURL(decompressedResponse);
});
} else {
// If the response is not gzip-compressed, create the image directly from the response
return new Promise((resolve, reject) => {
const img = new Image();
img.onload = () => resolve(img);
img.onerror = reject;
img.src = URL.createObjectURL(response.body);
});
}
})
.then(img => {
// Use the image with the react-konva Image component
// ...
});
```