UNPKG

bare-server-node

Version:

The Bare Server implementation in NodeJS.

47 lines 1.4 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.objectFromRawHeaders = objectFromRawHeaders; exports.rawHeaderNames = rawHeaderNames; exports.mapHeadersFromArray = mapHeadersFromArray; exports.flattenHeader = flattenHeader; function objectFromRawHeaders(raw) { const result = Object.create(null); for (let i = 0; i < raw.length; i += 2) { const [header, value] = raw.slice(i, i + 2); if (header in result) { const v = result[header]; if (Array.isArray(v)) v.push(value); else result[header] = [v, value]; } else result[header] = value; } return result; } function rawHeaderNames(raw) { const result = []; for (let i = 0; i < raw.length; i += 2) { if (!result.includes(raw[i])) result.push(raw[i]); } return result; } function mapHeadersFromArray(from, to) { for (const header of from) { if (header.toLowerCase() in to) { const value = to[header.toLowerCase()]; delete to[header.toLowerCase()]; to[header] = value; } } return to; } /** * Converts a header into an HTTP-ready comma joined header. */ function flattenHeader(value) { return Array.isArray(value) ? value.join(', ') : value; } //# sourceMappingURL=headerUtil.js.map