From 04ee4a2d080fea44372bba387e92910b04dc6408 Mon Sep 17 00:00:00 2001 From: Jesse Yang Date: Thu, 22 Oct 2020 13:25:17 -0700 Subject: [PATCH] build: let webpack proxy server handle more content encoding (#11376) --- superset-frontend/webpack.proxy-config.js | 16 ++++++++++++---- 1 file changed, 12 insertions(+), 4 deletions(-) diff --git a/superset-frontend/webpack.proxy-config.js b/superset-frontend/webpack.proxy-config.js index 931356db7..050a57bfc 100644 --- a/superset-frontend/webpack.proxy-config.js +++ b/superset-frontend/webpack.proxy-config.js @@ -109,12 +109,20 @@ function copyHeaders(originalResponse, response) { function processHTML(proxyResponse, response) { let body = Buffer.from([]); let originalResponse = proxyResponse; + let uncompress; + const responseEncoding = originalResponse.headers['content-encoding']; // decode GZIP response - if (originalResponse.headers['content-encoding'] === 'gzip') { - const gunzip = zlib.createGunzip(); - originalResponse.pipe(gunzip); - originalResponse = gunzip; + if (responseEncoding === 'gzip') { + uncompress = zlib.createGunzip(); + } else if (responseEncoding === 'br') { + uncompress = zlib.createBrotliDecompress(); + } else if (responseEncoding === 'deflate') { + uncompress = zlib.createInflate(); + } + if (uncompress) { + originalResponse.pipe(uncompress); + originalResponse = uncompress; } originalResponse