[Components Server] Add support for gzip files
R=jacktfranklin@chromium.org
Bug: None
Change-Id: I312dc4740fab41e207d2326113db247a19da3e5b
Reviewed-on: https://chromium-review.googlesource.com/c/devtools/devtools-frontend/+/2799757
Reviewed-by: Jack Franklin <jacktfranklin@chromium.org>
Commit-Queue: Jack Franklin <jacktfranklin@chromium.org>
Auto-Submit: Paul Lewis <aerotwist@chromium.org>
diff --git a/scripts/component_server/server.js b/scripts/component_server/server.js
index f9ad231..6a83e68 100644
--- a/scripts/component_server/server.js
+++ b/scripts/component_server/server.js
@@ -273,14 +273,6 @@
}
let encoding = 'utf8';
- if (fullPath.endsWith('.wasm') || fullPath.endsWith('.png') || fullPath.endsWith('.jpg') ||
- fullPath.endsWith('.avif')) {
- encoding = 'binary';
- }
-
- const fileContents = await fs.promises.readFile(fullPath, encoding);
-
- encoding = 'utf8';
if (fullPath.endsWith('.js')) {
response.setHeader('Content-Type', 'text/javascript; charset=utf-8');
} else if (fullPath.endsWith('.css')) {
@@ -299,8 +291,12 @@
} else if (fullPath.endsWith('.avif')) {
response.setHeader('Content-Type', 'image/avif');
encoding = 'binary';
+ } else if (fullPath.endsWith('.gz')) {
+ response.setHeader('Content-Type', 'application/gzip');
+ encoding = 'binary';
}
+ const fileContents = await fs.promises.readFile(fullPath, encoding);
response.writeHead(200);
response.write(fileContents, encoding);
response.end();