UNPKG

toxy

Version:

Hackable HTTP proxy to simulate server failure scenarios and network conditions

27 lines (20 loc) 612 B
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 }) }