aboutsummaryrefslogtreecommitdiff
path: root/node_modules/express-minify-html/minifier.js
diff options
context:
space:
mode:
Diffstat (limited to 'node_modules/express-minify-html/minifier.js')
-rw-r--r--node_modules/express-minify-html/minifier.js53
1 files changed, 53 insertions, 0 deletions
diff --git a/node_modules/express-minify-html/minifier.js b/node_modules/express-minify-html/minifier.js
new file mode 100644
index 0000000..2428893
--- /dev/null
+++ b/node_modules/express-minify-html/minifier.js
@@ -0,0 +1,53 @@
+'use strict';
+
+var minify = require('html-minifier').minify;
+
+function minifyHTML(opts) {
+ if (!opts) opts = {};
+
+ function minifier(req, res, next) {
+
+ var sendMinified = function (callback) {
+
+ // No callback specified, just minify and send to client.
+ if (typeof callback === 'undefined') {
+ return function (err, html) {
+ if (err) {
+ return next(err);
+ }
+
+ html = minify(html, opts.htmlMinifier);
+ res.send(html);
+ }
+ } else {
+
+ // Custom callback specified by user, use that one
+ return function (err, html) {
+ if (html) {
+ html = minify(html, opts.htmlMinifier);
+ }
+
+ callback(err, html);
+ }
+ }
+ };
+
+ if (opts.override === false) {
+ res.renderMin = function (view, renderOpts, callback) {
+ this.render(view, renderOpts, sendMinified(callback));
+ }
+ } else {
+ res.oldRender = res.render;
+ res.render = function (view, renderOpts, callback) {
+ this.oldRender(view, renderOpts, sendMinified(callback));
+ };
+ }
+
+ return next();
+ }
+
+ return (minifier);
+}
+
+module.exports = minifyHTML;
+