mirror of
https://github.com/faisalman/ua-parser-js.git
synced 2025-09-27 16:08:47 +03:00
Normalize all headers into lowercase
This commit is contained in:
parent
4e421e72fe
commit
3e65196b57
@ -1390,11 +1390,20 @@
|
|||||||
extensions = undefined;
|
extensions = undefined;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (headers) {
|
||||||
|
if (typeof headers.append === FUNC_TYPE) {
|
||||||
// Convert Headers object into a plain object
|
// Convert Headers object into a plain object
|
||||||
if (headers && typeof headers.append === FUNC_TYPE) {
|
|
||||||
var kv = {};
|
var kv = {};
|
||||||
headers.forEach(function (v, k) { kv[k] = v; });
|
headers.forEach(function (v, k) { kv[String(k).toLowerCase()] = v; });
|
||||||
headers = kv;
|
headers = kv;
|
||||||
|
} else {
|
||||||
|
// Normalize headers field name into lowercase
|
||||||
|
var normalized = {};
|
||||||
|
for (var header in headers) {
|
||||||
|
normalized[String(header).toLowerCase()] = headers[header];
|
||||||
|
}
|
||||||
|
headers = normalized;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
if (!(this instanceof UAParser)) {
|
if (!(this instanceof UAParser)) {
|
||||||
|
@ -381,4 +381,12 @@ describe('Read user-agent data from req.headers', function () {
|
|||||||
const { browser } = UAParser(reqHeaders);
|
const { browser } = UAParser(reqHeaders);
|
||||||
assert.strictEqual(browser.is('Midori'), true);
|
assert.strictEqual(browser.is('Midori'), true);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
it('Headers field name should be case insensitive', function () {
|
||||||
|
const hEaDeRs = {
|
||||||
|
'uSeR-aGenT' : 'Midori/0.2.2 (X11; Linux i686; U; en-us) WebKit/531.2+'
|
||||||
|
};
|
||||||
|
const { browser } = UAParser(hEaDeRs);
|
||||||
|
assert.strictEqual(browser.toString(), "Midori 0.2.2");
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
Loading…
x
Reference in New Issue
Block a user