diff --git a/lib/core/index.js b/lib/core/index.js index 920e55b9..a941dcef 100644 --- a/lib/core/index.js +++ b/lib/core/index.js @@ -200,9 +200,9 @@ module.exports = function createMiddleware(_dir, _options) { path.relative(path.join('/', baseDir), pathname) ) ); - // determine compressed forms if they were to exist - gzippedFile = `${file}.gz`; - brotliFile = `${file}.br`; + // determine compressed forms if they were to exist, make sure to handle pre-compressed files, i.e. files with .br/.gz extension. we will serve them "as-is" + gzippedFile = file.endsWith('gz') ? file : `${file}.gz`; + brotliFile = file.endsWith('br') ? file : `${file}.br`; Object.keys(headers).forEach((key) => { res.setHeader(key, headers[key]); diff --git a/package.json b/package.json index d4c408a0..7bf90a0f 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "http-server", - "version": "14.1.1", + "version": "14.1.2", "description": "A simple zero-configuration command-line http server", "main": "./lib/http-server", "repository": {