diff --git a/services/filestore/app/js/FileController.js b/services/filestore/app/js/FileController.js index 748026f76c..72f68047ab 100644 --- a/services/filestore/app/js/FileController.js +++ b/services/filestore/app/js/FileController.js @@ -61,18 +61,18 @@ function getFile(req, res, next) { } pipeline(fileStream, res, err => { - if (err) { + if (!fileStream.destroyed) { fileStream.destroy() - if (err.code === 'ERR_STREAM_PREMATURE_CLOSE') { - res.end() - } else { - next( - new Errors.ReadError({ - message: 'error transferring stream', - info: { bucket, key, format, style } - }).withCause(err) - ) - } + } + if (err && err.code === 'ERR_STREAM_PREMATURE_CLOSE') { + res.end() + } else if (err) { + next( + new Errors.ReadError({ + message: 'error transferring stream', + info: { bucket, key, format, style } + }).withCause(err) + ) } }) }) diff --git a/services/filestore/app/js/PersistorHelper.js b/services/filestore/app/js/PersistorHelper.js index 826412b302..99ac26aece 100644 --- a/services/filestore/app/js/PersistorHelper.js +++ b/services/filestore/app/js/PersistorHelper.js @@ -114,7 +114,9 @@ function getReadyPipeline(...streams) { } if (err) { for (const stream of streams) { - stream.destroy() + if (!stream.destroyed) { + stream.destroy() + } } } }