lib/helpers/match-headers.js
const isRegExp = require('./is-regexp')
module.exports = function matchHeaders (httpObj, headers) {
return Object.keys(headers).every(function (key) {
const rule = headers[key]
const value = (httpObj.headers || httpObj._headers || {})[key.toLowerCase()]
if (typeof rule === 'boolean') {
return rule ? value != null : value == null
}
if (isRegExp(rule)) {
return rule.test(value)
}
if (typeof rule === 'string') {
return new RegExp(rule, 'i').test(value)
}
if (typeof rule === 'function') {
return rule(value, key)
}
return false
})
}