From 68f435a658ee8e7cc86c131e954becedc63b8ba1 Mon Sep 17 00:00:00 2001 From: killer069 <65385476+killer069@users.noreply.github.com> Date: Tue, 7 Dec 2021 14:00:31 +0530 Subject: [PATCH] Request compression issue fixed --- play-dl/Request/index.ts | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/play-dl/Request/index.ts b/play-dl/Request/index.ts index 3ba0f43..f51081f 100644 --- a/play-dl/Request/index.ts +++ b/play-dl/Request/index.ts @@ -76,16 +76,22 @@ export function request(req_url: string, options: RequestOpts = { method: 'GET' reject(new Error(`Got ${res.statusCode} from the request`)); } const data: string[] = []; - let decoder: BrotliDecompress | Gunzip | Deflate; + let decoder: BrotliDecompress | Gunzip | Deflate | undefined = undefined; const encoding = res.headers['content-encoding']; if (encoding === 'gzip') decoder = zlib.createGunzip(); else if (encoding === 'br') decoder = zlib.createBrotliDecompress(); - else decoder = zlib.createDeflate(); + else if (encoding === 'deflate') decoder = zlib.createDeflate(); - res.pipe(decoder); - decoder.setEncoding('utf-8'); - decoder.on('data', (c) => data.push(c)); - decoder.on('end', () => resolve(data.join(''))); + if (decoder) { + res.pipe(decoder); + decoder.setEncoding('utf-8'); + decoder.on('data', (c) => data.push(c)); + decoder.on('end', () => resolve(data.join(''))); + } else { + res.setEncoding('utf-8'); + res.on('data', (c) => data.push(c)); + res.on('end', () => resolve(data.join(''))); + } }); }