set-headers
Version:
Express/Connect middleware to set response headers based on globs
26 lines (18 loc) • 621 B
JavaScript
var each = require('lodash.foreach');
var slasher = require('glob-slasher');
var globject = require('globject');
var url = require('fast-url-parser');
var onHeaders = require('on-headers');
module.exports = function (headerPaths) {
return function (req, res, next) {
var pathname = url.parse(req.url).pathname;
var headersConfig = globject(slasher(headerPaths));
var headers = headersConfig(slasher(pathname)) || {};
onHeaders(res, function () {
each(headers, function (val, name) {
res.setHeader(name, val);
});
});
return next();
};
};