21 lines
783 B
Plaintext
21 lines
783 B
Plaintext
let cookie_es = require("cookie-es");
|
|
//#region src/ssr/headers.ts
|
|
function toHeadersInstance(init) {
|
|
if (init instanceof Headers) return init;
|
|
else if (Array.isArray(init)) return new Headers(init);
|
|
else if (typeof init === "object") return new Headers(init);
|
|
else return null;
|
|
}
|
|
function mergeHeaders(...headers) {
|
|
return headers.reduce((acc, header) => {
|
|
const headersInstance = toHeadersInstance(header);
|
|
if (!headersInstance) return acc;
|
|
for (const [key, value] of headersInstance.entries()) if (key === "set-cookie") (0, cookie_es.splitSetCookieString)(value).forEach((cookie) => acc.append("set-cookie", cookie));
|
|
else acc.set(key, value);
|
|
return acc;
|
|
}, new Headers());
|
|
}
|
|
//#endregion
|
|
exports.mergeHeaders = mergeHeaders;
|
|
|
|
//# sourceMappingURL=headers.cjs.map |