UNPKG

koa-helmet

Version:

Security header middleware collection for koa

33 lines (26 loc) 823 B
"use strict"; 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;