Skip to content

Commit 9bbfb7c

Browse files
feat(clients): response decompression (generated)
algolia/api-clients-automation#6095 Co-authored-by: algolia-bot <accounts+algolia-api-client-bot@algolia.com> Co-authored-by: Eric Zaharia <94015633+eric-zaharia@users.noreply.github.com>
1 parent 8790419 commit 9bbfb7c

File tree

1 file changed

+8
-1
lines changed

1 file changed

+8
-1
lines changed

packages/requester-node-http/src/createHttpRequester.ts

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,7 @@
11
import http from 'http';
22
import https from 'https';
33
import { URL } from 'url';
4+
import zlib from 'zlib';
45

56
import type { EndRequest, Requester, Response } from '@algolia/client-common';
67

@@ -41,6 +42,7 @@ export function createHttpRequester({
4142
method: request.method,
4243
...requesterOptions,
4344
headers: {
45+
'accept-encoding': 'gzip',
4446
...request.headers,
4547
...requesterOptions.headers,
4648
},
@@ -61,9 +63,14 @@ export function createHttpRequester({
6163
clearTimeout(connectTimeout as NodeJS.Timeout);
6264
clearTimeout(responseTimeout as NodeJS.Timeout);
6365

66+
let buffer = Buffer.concat(contentBuffers);
67+
if (response.headers['content-encoding'] === 'gzip') {
68+
buffer = zlib.gunzipSync(buffer);
69+
}
70+
6471
resolve({
6572
status: response.statusCode || 0,
66-
content: Buffer.concat(contentBuffers).toString(),
73+
content: buffer.toString(),
6774
isTimedOut: false,
6875
});
6976
});

0 commit comments

Comments
 (0)