Files
pole-book/server/node_modules/koa-helmet/lib/koa-helmet.js

30 lines
804 B
JavaScript

'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;