From 3386c576704581d53d20eec2cdc0a031dea55e2b Mon Sep 17 00:00:00 2001 From: "D. Berge" Date: Sun, 29 Oct 2023 11:35:26 +0100 Subject: [PATCH] Add setContentDisposition() utility function. It checks if a request has a `filename` search parameter and if so, set the Content-Disposition response header to attachment with the provided filename. --- lib/www/server/lib/utils/index.js | 3 ++- lib/www/server/lib/utils/setContentDisposition.js | 8 ++++++++ 2 files changed, 10 insertions(+), 1 deletion(-) create mode 100644 lib/www/server/lib/utils/setContentDisposition.js diff --git a/lib/www/server/lib/utils/index.js b/lib/www/server/lib/utils/index.js index a040421..bae0fee 100644 --- a/lib/www/server/lib/utils/index.js +++ b/lib/www/server/lib/utils/index.js @@ -8,5 +8,6 @@ module.exports = { removeNulls: require('./removeNulls'), logicalPath: require('./logicalPath'), ranges: require('./ranges'), - unique: require('./unique') + unique: require('./unique'), + setContentDisposition: require('./setContentDisposition') }; diff --git a/lib/www/server/lib/utils/setContentDisposition.js b/lib/www/server/lib/utils/setContentDisposition.js new file mode 100644 index 0000000..811a9e1 --- /dev/null +++ b/lib/www/server/lib/utils/setContentDisposition.js @@ -0,0 +1,8 @@ + +function setContentDisposition (req, res) { + if (req.query.filename) { + res.set("Content-Disposition", `attachment; filename="${req.query.filename}"`); + } +} + +module.exports = setContentDisposition;