| Server IP : 68.183.124.220 / Your IP : 216.73.217.137 Web Server : Apache/2.4.18 (Ubuntu) System : Linux Sandbox-A 4.4.0-210-generic #242-Ubuntu SMP Fri Apr 16 09:57:56 UTC 2021 x86_64 User : gavin ( 1000) PHP Version : 7.0.33-0ubuntu0.16.04.16 Disable Function : pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority, MySQL : OFF | cURL : ON | WGET : ON | Perl : ON | Python : ON | Sudo : ON | Pkexec : ON Directory : /home/gavin/workspace/happymandarin/node_modules/hsts/ |
Upload File : |
var util = require('core-util-is')
var oneDay = 86400000
module.exports = function hsts (options) {
options = options || {}
var maxAgeMS = options.maxAge != null ? options.maxAge : oneDay
var force = options.force
var setIf = options.setIf
if (options.maxage != null) {
throw new Error('Did you mean to pass "maxAge" instead of "maxage"?')
}
if (!util.isObject(options)) {
throw new Error('HSTS must be passed an object or undefined.')
}
if (arguments.length > 1) {
throw new Error('HSTS passed the wrong number of arguments.')
}
if (!util.isNumber(maxAgeMS)) {
throw new TypeError('HSTS must be passed a numeric maxAge parameter.')
}
if (maxAgeMS < 0) {
throw new RangeError('HSTS maxAge must be nonnegative.')
}
if (setIf && !util.isFunction(setIf)) {
throw new TypeError('setIf must be a function.')
}
if (setIf && force) {
throw new Error('setIf and force cannot both be specified.')
}
var maxAge = Math.round(maxAgeMS / 1000)
var header = 'max-age=' + maxAge
if (options.includeSubDomains || options.includeSubdomains) {
header += '; includeSubDomains'
}
if (options.preload) {
header += '; preload'
}
return function hsts (req, res, next) {
var setHeader
if (setIf) {
setHeader = setIf(req, res)
} else {
setHeader = force || req.secure
}
if (setHeader) {
res.setHeader('Strict-Transport-Security', header)
}
next()
}
}