MCPcopy Create free account
hub / github.com/nodejs/node / parseHeaders

Function parseHeaders

deps/undici/undici.js:1815–1846  ·  view source on GitHub ↗
(headers, obj)

Source from the content-addressed store, hash-verified

1813 }
1814 __name(bufferToLowerCasedHeaderName, "bufferToLowerCasedHeaderName");
1815 function parseHeaders(headers, obj) {
1816 if (obj === void 0) obj = {};
1817 for (let i = 0; i < headers.length; i += 2) {
1818 const key = headerNameToString(headers[i]);
1819 let val = obj[key];
1820 if (val !== void 0) {
1821 if (!Object.hasOwn(obj, key)) {
1822 const headersValue = typeof headers[i + 1] === "string" ? headers[i + 1] : Array.isArray(headers[i + 1]) ? headers[i + 1].map((x) => x.toString("latin1")) : headers[i + 1].toString("latin1");
1823 if (key === "__proto__") {
1824 Object.defineProperty(obj, key, {
1825 value: headersValue,
1826 enumerable: true,
1827 configurable: true,
1828 writable: true
1829 });
1830 } else {
1831 obj[key] = headersValue;
1832 }
1833 } else {
1834 if (typeof val === "string") {
1835 val = [val];
1836 obj[key] = val;
1837 }
1838 val.push(headers[i + 1].toString("latin1"));
1839 }
1840 } else {
1841 const headersValue = typeof headers[i + 1] === "string" ? headers[i + 1] : Array.isArray(headers[i + 1]) ? headers[i + 1].map((x) => x.toString("latin1")) : headers[i + 1].toString("latin1");
1842 obj[key] = headersValue;
1843 }
1844 }
1845 return obj;
1846 }
1847 __name(parseHeaders, "parseHeaders");
1848 function parseRawHeaders(headers) {
1849 if (headers == null) {

Callers 3

onResponseStartMethod · 0.70
onRequestUpgradeMethod · 0.70
onResponseEndMethod · 0.70

Calls 5

headerNameToStringFunction · 0.70
mapMethod · 0.65
toStringMethod · 0.45
definePropertyMethod · 0.45
pushMethod · 0.45

Tested by

no test coverage detected