(headers, obj)
| 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) { |
no test coverage detected