diff --git a/lib/core/index.js b/lib/core/index.js index 920e55b9..58f14443 100644 --- a/lib/core/index.js +++ b/lib/core/index.js @@ -5,7 +5,6 @@ const path = require('path'); const fs = require('fs'); const url = require('url'); -const { Readable } = require('stream'); const buffer = require('buffer'); const mime = require('mime'); const urlJoin = require('url-join'); @@ -235,7 +234,6 @@ module.exports = function createMiddleware(_dir, _options) { const lastModified = (new Date(stat.mtime)).toUTCString(); const etag = generateEtag(stat, weakEtags); let cacheControl = cache; - let stream = null; if (contentType && isTextFile(contentType)) { if (stat.size < buffer.constants.MAX_LENGTH) { const bytes = fs.readFileSync(file); @@ -243,7 +241,6 @@ module.exports = function createMiddleware(_dir, _options) { defaultEncoding: 'UTF-8' }); contentType += `; charset=${sniffedEncoding}`; - stream = Readable.from(bytes) } else { // Assume text types are utf8 contentType += '; charset=UTF-8'; @@ -329,10 +326,8 @@ module.exports = function createMiddleware(_dir, _options) { return; } - // stream may already have been assigned during encoding sniffing. - if (stream === null) { - stream = fs.createReadStream(file); - } + // create a clean stream using 'createReadStream' + const stream = fs.createReadStream(file); stream.pipe(res); stream.on('error', (err) => {