koa-helmet
Version:
Security header middleware collection for koa
33 lines (26 loc) • 823 B
JavaScript
;
const helmet = require("helmet");
const { promisify } = require("util");
const koaHelmet = function () {
const helmetPromise = promisify(helmet.apply(null, arguments));
const middleware = (ctx, next) => {
return helmetPromise(ctx.req, ctx.res).then(next);
};
middleware._name = "helmet";
return middleware;
};
Object.keys(helmet).forEach(function (helmetMethod) {
koaHelmet[helmetMethod] = function () {
const methodPromise = promisify(
helmet[helmetMethod].apply(null, arguments),
);
return (ctx, next) => {
return methodPromise(ctx.req, ctx.res).then(next);
};
};
Object.keys(helmet[helmetMethod]).forEach((methodExports) => {
koaHelmet[helmetMethod][methodExports] =
helmet[helmetMethod][methodExports];
});
});
module.exports = koaHelmet;