UNPKG

@scalar/api-client

Version:

the open source API testing client

28 lines (27 loc) 1.12 kB
const n = (a, t = !1) => { const o = Object.fromEntries(a); t && [ "Access-Control-Allow-Credentials", "Access-Control-Allow-Headers", "Access-Control-Allow-Methods", "Access-Control-Allow-Origin", "Access-Control-Expose-Headers" ].map((s) => s.toLowerCase()).forEach((s) => delete o[s]); const r = Object.keys(o).find((e) => e.toLowerCase() === "x-scalar-modified-headers"), c = r ? o[r]?.toString().split(", ")?.map((e) => e.toLowerCase()) ?? [] : []; return Object.keys(o).forEach((e) => { c.includes(e.toLowerCase()) && delete o[e]; }), r && delete o[r], Object.keys(o).forEach((e) => { const s = /^x-scalar-original-/i; if (s.test(e)) { const l = e.replace(s, ""); o[e] && (o[l] = o[e], delete o[e]); } }), Object.keys(o).forEach((e) => { const s = i(e); e !== s && o[e] && (o[s] = o[e], delete o[e]); }), Object.fromEntries(Object.entries(o).sort(([e], [s]) => e.localeCompare(s))); }, i = (a) => a.split("-").map((t) => t.charAt(0).toUpperCase() + t.toLowerCase().slice(1)).join("-"); export { i as formatHeaderKey, n as normalizeHeaders };