From 4f658c0418ddfec58c4ee7ffd68bcadff6e990f8 Mon Sep 17 00:00:00 2001 From: Wolfgang Ginolas Date: Thu, 24 Apr 2025 11:07:27 +0200 Subject: [PATCH] Serve compressed files when a .br version is available --- lib/http-worker.js | 3 ++- package-lock.json | 17 +++++++++++++++++ package.json | 1 + 3 files changed, 20 insertions(+), 1 deletion(-) diff --git a/lib/http-worker.js b/lib/http-worker.js index 91232d348..90b399f16 100644 --- a/lib/http-worker.js +++ b/lib/http-worker.js @@ -18,6 +18,7 @@ const bodyParser = require('body-parser'); const BlobStore = require("./storage/blob"); const BlockStore = require("./storage/block"); const plugins = require("./plugin-manager"); +const gzipStatic = require('connect-gzip-static'); const DEFAULT_QUERY_TIMEOUT = 5000; const PID = process.pid; @@ -337,7 +338,7 @@ Object.keys(plugins || {}).forEach(name => { // serve custom app content from the customize directory // useful for testing pages customized with opengraph data app.use(Express.static(Path.resolve('./customize/www'))); -app.use(Express.static(Path.resolve('./www'))); +app.use(gzipStatic(Path.resolve('./www'))); var mainPages = Env.mainPages || Default.mainPages(); var mainPagePattern = new RegExp('^\/(' + mainPages.join('|') + ').html$'); diff --git a/package-lock.json b/package-lock.json index 503ae5798..9042f01da 100644 --- a/package-lock.json +++ b/package-lock.json @@ -23,6 +23,7 @@ "ckeditor": "npm:ckeditor4@~4.22.1", "codemirror": "^5.19.0", "components-font-awesome": "^4.6.3", + "connect-gzip-static": "^4.2.1", "cookie-parser": "^1.4.7", "croppie": "^2.5.0", "dragula": "3.7.2", @@ -2063,6 +2064,22 @@ "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==" }, + "node_modules/connect-gzip-static": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/connect-gzip-static/-/connect-gzip-static-4.2.1.tgz", + "integrity": "sha512-6qC1NYUEZU6mftg2gPspcoPjgBzADm+fB1fPXu3RxBVe59P/Q9HQGQEHnuDaGRDJUoJwl5NX2OgoaaZp7RdpfQ==", + "license": "MIT", + "dependencies": { + "debug": "~2||~3||~4", + "mime-types": "~2", + "parseurl": "~1", + "send": "~0 || ~1", + "serve-static": "~1 || ~2" + }, + "engines": { + "node": ">= 20.1.0" + } + }, "node_modules/content-disposition": { "version": "0.5.4", "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", diff --git a/package.json b/package.json index fbb9093be..0f40ea35d 100644 --- a/package.json +++ b/package.json @@ -26,6 +26,7 @@ "ckeditor": "npm:ckeditor4@~4.22.1", "codemirror": "^5.19.0", "components-font-awesome": "^4.6.3", + "connect-gzip-static": "^4.2.1", "cookie-parser": "^1.4.7", "croppie": "^2.5.0", "dragula": "3.7.2",