fix: Handle zstd encoding in webpack proxy config (#30034)
This commit is contained in:
parent
e886cc40fe
commit
75c500c9a5
|
|
@ -31,7 +31,8 @@ RUN apt-get update -qq \
|
|||
&& apt-get install \
|
||||
-yqq --no-install-recommends \
|
||||
build-essential \
|
||||
python3
|
||||
python3 \
|
||||
zstd
|
||||
|
||||
ENV BUILD_CMD=${NPM_BUILD_CMD} \
|
||||
PUPPETEER_SKIP_CHROMIUM_DOWNLOAD=true
|
||||
|
|
|
|||
|
|
@ -135,6 +135,7 @@
|
|||
"rimraf": "^6.0.1",
|
||||
"rison": "^0.1.1",
|
||||
"scroll-into-view-if-needed": "^3.1.0",
|
||||
"simple-zstd": "^1.4.2",
|
||||
"tinycolor2": "^1.4.2",
|
||||
"urijs": "^1.19.8",
|
||||
"use-event-callback": "^0.1.0",
|
||||
|
|
@ -22209,6 +22210,12 @@
|
|||
"version": "1.5.5",
|
||||
"license": "Apache-2.0"
|
||||
},
|
||||
"node_modules/duplex-maker": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/duplex-maker/-/duplex-maker-1.0.0.tgz",
|
||||
"integrity": "sha512-KoHuzggxg7f+vvjqOHfXxaQYI1POzBm+ah0eec7YDssZmbt6QFBI8d1nl5GQwAgR2f+VQCPvyvZtmWWqWuFtlA==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/duplexer": {
|
||||
"version": "0.1.2",
|
||||
"dev": true,
|
||||
|
|
@ -22223,7 +22230,6 @@
|
|||
},
|
||||
"node_modules/duplexify": {
|
||||
"version": "3.7.1",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"end-of-stream": "^1.0.0",
|
||||
|
|
@ -22408,7 +22414,6 @@
|
|||
},
|
||||
"node_modules/end-of-stream": {
|
||||
"version": "1.4.1",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"once": "^1.4.0"
|
||||
|
|
@ -29151,6 +29156,12 @@
|
|||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/is-zst": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-zst/-/is-zst-1.0.0.tgz",
|
||||
"integrity": "sha512-ZA5lvshKAl8z30dX7saXLpVhpsq3d2EHK9uf7qtUjnOtdw4XBpAoWb2RvZ5kyoaebdoidnGI0g2hn9Z7ObPbww==",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/isarray": {
|
||||
"version": "1.0.0",
|
||||
"license": "MIT"
|
||||
|
|
@ -42273,7 +42284,6 @@
|
|||
},
|
||||
"node_modules/peek-stream": {
|
||||
"version": "1.1.3",
|
||||
"dev": true,
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"buffer-from": "^1.0.0",
|
||||
|
|
@ -43168,6 +43178,19 @@
|
|||
"node": ">=8"
|
||||
}
|
||||
},
|
||||
"node_modules/process-streams": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/process-streams/-/process-streams-1.0.3.tgz",
|
||||
"integrity": "sha512-xkIaM5vYnyekB88WyET78YEqXiaJRy0xcvIdE22n+myhvBT7LlLmX6iAtq7jDvVH8CUx2rqQsd32JdRyJMV3NA==",
|
||||
"funding": [
|
||||
"https://www.paypal.com/donate/?hosted_button_id=GB656ZSAEQEXN",
|
||||
"https://de.liberapay.com/nils.knappmeier/"
|
||||
],
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"duplex-maker": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/process-warning": {
|
||||
"version": "1.0.0",
|
||||
"dev": true,
|
||||
|
|
@ -48078,6 +48101,41 @@
|
|||
"version": "0.3.2",
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/simple-zstd": {
|
||||
"version": "1.4.2",
|
||||
"resolved": "https://registry.npmjs.org/simple-zstd/-/simple-zstd-1.4.2.tgz",
|
||||
"integrity": "sha512-kGYEvT33M5XfyQvvW4wxl3eKcWbdbCc1V7OZzuElnaXft0qbVzoIIXHXiCm3JCUki+MZKKmvjl8p2VGLJc5Y/A==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"is-zst": "^1.0.0",
|
||||
"peek-stream": "^1.1.3",
|
||||
"process-streams": "^1.0.1",
|
||||
"through2": "^4.0.2"
|
||||
}
|
||||
},
|
||||
"node_modules/simple-zstd/node_modules/readable-stream": {
|
||||
"version": "3.6.2",
|
||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
|
||||
"integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"inherits": "^2.0.3",
|
||||
"string_decoder": "^1.1.1",
|
||||
"util-deprecate": "^1.0.1"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">= 6"
|
||||
}
|
||||
},
|
||||
"node_modules/simple-zstd/node_modules/through2": {
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz",
|
||||
"integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"readable-stream": "3"
|
||||
}
|
||||
},
|
||||
"node_modules/sinon": {
|
||||
"version": "18.0.0",
|
||||
"resolved": "https://registry.npmjs.org/sinon/-/sinon-18.0.0.tgz",
|
||||
|
|
@ -49070,7 +49128,6 @@
|
|||
},
|
||||
"node_modules/stream-shift": {
|
||||
"version": "1.0.3",
|
||||
"dev": true,
|
||||
"license": "MIT"
|
||||
},
|
||||
"node_modules/streamx": {
|
||||
|
|
@ -73343,6 +73400,11 @@
|
|||
"draco3d": {
|
||||
"version": "1.5.5"
|
||||
},
|
||||
"duplex-maker": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/duplex-maker/-/duplex-maker-1.0.0.tgz",
|
||||
"integrity": "sha512-KoHuzggxg7f+vvjqOHfXxaQYI1POzBm+ah0eec7YDssZmbt6QFBI8d1nl5GQwAgR2f+VQCPvyvZtmWWqWuFtlA=="
|
||||
},
|
||||
"duplexer": {
|
||||
"version": "0.1.2",
|
||||
"dev": true
|
||||
|
|
@ -73355,7 +73417,6 @@
|
|||
},
|
||||
"duplexify": {
|
||||
"version": "3.7.1",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"end-of-stream": "^1.0.0",
|
||||
"inherits": "^2.0.1",
|
||||
|
|
@ -73498,7 +73559,6 @@
|
|||
},
|
||||
"end-of-stream": {
|
||||
"version": "1.4.1",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"once": "^1.4.0"
|
||||
}
|
||||
|
|
@ -77821,6 +77881,11 @@
|
|||
"is-docker": "^2.0.0"
|
||||
}
|
||||
},
|
||||
"is-zst": {
|
||||
"version": "1.0.0",
|
||||
"resolved": "https://registry.npmjs.org/is-zst/-/is-zst-1.0.0.tgz",
|
||||
"integrity": "sha512-ZA5lvshKAl8z30dX7saXLpVhpsq3d2EHK9uf7qtUjnOtdw4XBpAoWb2RvZ5kyoaebdoidnGI0g2hn9Z7ObPbww=="
|
||||
},
|
||||
"isarray": {
|
||||
"version": "1.0.0"
|
||||
},
|
||||
|
|
@ -85783,7 +85848,6 @@
|
|||
},
|
||||
"peek-stream": {
|
||||
"version": "1.1.3",
|
||||
"dev": true,
|
||||
"requires": {
|
||||
"buffer-from": "^1.0.0",
|
||||
"duplexify": "^3.5.0",
|
||||
|
|
@ -86274,6 +86338,14 @@
|
|||
"fromentries": "^1.2.0"
|
||||
}
|
||||
},
|
||||
"process-streams": {
|
||||
"version": "1.0.3",
|
||||
"resolved": "https://registry.npmjs.org/process-streams/-/process-streams-1.0.3.tgz",
|
||||
"integrity": "sha512-xkIaM5vYnyekB88WyET78YEqXiaJRy0xcvIdE22n+myhvBT7LlLmX6iAtq7jDvVH8CUx2rqQsd32JdRyJMV3NA==",
|
||||
"requires": {
|
||||
"duplex-maker": "^1.0.0"
|
||||
}
|
||||
},
|
||||
"process-warning": {
|
||||
"version": "1.0.0",
|
||||
"dev": true
|
||||
|
|
@ -89377,6 +89449,37 @@
|
|||
}
|
||||
}
|
||||
},
|
||||
"simple-zstd": {
|
||||
"version": "1.4.2",
|
||||
"resolved": "https://registry.npmjs.org/simple-zstd/-/simple-zstd-1.4.2.tgz",
|
||||
"integrity": "sha512-kGYEvT33M5XfyQvvW4wxl3eKcWbdbCc1V7OZzuElnaXft0qbVzoIIXHXiCm3JCUki+MZKKmvjl8p2VGLJc5Y/A==",
|
||||
"requires": {
|
||||
"is-zst": "^1.0.0",
|
||||
"peek-stream": "^1.1.3",
|
||||
"process-streams": "^1.0.1",
|
||||
"through2": "^4.0.2"
|
||||
},
|
||||
"dependencies": {
|
||||
"readable-stream": {
|
||||
"version": "3.6.2",
|
||||
"resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz",
|
||||
"integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==",
|
||||
"requires": {
|
||||
"inherits": "^2.0.3",
|
||||
"string_decoder": "^1.1.1",
|
||||
"util-deprecate": "^1.0.1"
|
||||
}
|
||||
},
|
||||
"through2": {
|
||||
"version": "4.0.2",
|
||||
"resolved": "https://registry.npmjs.org/through2/-/through2-4.0.2.tgz",
|
||||
"integrity": "sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==",
|
||||
"requires": {
|
||||
"readable-stream": "3"
|
||||
}
|
||||
}
|
||||
}
|
||||
},
|
||||
"sinon": {
|
||||
"version": "18.0.0",
|
||||
"resolved": "https://registry.npmjs.org/sinon/-/sinon-18.0.0.tgz",
|
||||
|
|
@ -90044,8 +90147,7 @@
|
|||
}
|
||||
},
|
||||
"stream-shift": {
|
||||
"version": "1.0.3",
|
||||
"dev": true
|
||||
"version": "1.0.3"
|
||||
},
|
||||
"streamx": {
|
||||
"version": "2.18.0",
|
||||
|
|
|
|||
|
|
@ -201,6 +201,7 @@
|
|||
"rimraf": "^6.0.1",
|
||||
"rison": "^0.1.1",
|
||||
"scroll-into-view-if-needed": "^3.1.0",
|
||||
"simple-zstd": "^1.4.2",
|
||||
"tinycolor2": "^1.4.2",
|
||||
"urijs": "^1.19.8",
|
||||
"use-event-callback": "^0.1.0",
|
||||
|
|
|
|||
|
|
@ -17,6 +17,7 @@
|
|||
* under the License.
|
||||
*/
|
||||
const zlib = require('zlib');
|
||||
const { ZSTDDecompress } = require('simple-zstd');
|
||||
|
||||
const yargs = require('yargs');
|
||||
// eslint-disable-next-line import/no-extraneous-dependencies
|
||||
|
|
@ -127,6 +128,8 @@ function processHTML(proxyResponse, response) {
|
|||
uncompress = zlib.createBrotliDecompress();
|
||||
} else if (responseEncoding === 'deflate') {
|
||||
uncompress = zlib.createInflate();
|
||||
} else if (responseEncoding === 'zstd') {
|
||||
uncompress = ZSTDDecompress();
|
||||
}
|
||||
if (uncompress) {
|
||||
originalResponse.pipe(uncompress);
|
||||
|
|
|
|||
Loading…
Reference in New Issue