| 'use strict'; | 
|   | 
| const utils = require('../utils'); | 
|   | 
| // Set Strict-Transport-Security header | 
| module.exports = options => { | 
|   return async function hsts(ctx, next) { | 
|     await next(); | 
|   | 
|     const opts = utils.merge(options, ctx.securityOptions.hsts); | 
|     if (utils.checkIfIgnore(opts, ctx)) return; | 
|   | 
|     let val = 'max-age=' + opts.maxAge; | 
|     // If opts.includeSubdomains is defined, | 
|     // the rule is also valid for all the sub domains of the website | 
|     if (opts.includeSubdomains) { | 
|       val += '; includeSubdomains'; | 
|     } | 
|     ctx.set('strict-transport-security', val); | 
|   }; | 
| }; |