nosniff.js 438 B

123456789101112131415161718
  1. 'use strict';
  2. const statuses = require('statuses');
  3. const utils = require('../utils');
  4. module.exports = options => {
  5. return async function nosniff(ctx, next) {
  6. await next();
  7. // ignore redirect response
  8. if (statuses.redirect[ctx.status]) return;
  9. const opts = utils.merge(options, ctx.securityOptions.nosniff);
  10. if (utils.checkIfIgnore(opts, ctx)) return;
  11. ctx.set('x-content-type-options', 'nosniff');
  12. };
  13. };