21 lines
529 B
JavaScript
21 lines
529 B
JavaScript
function parseCookieHeader(cookieHeader) {
|
|
const cookies = {};
|
|
if (!cookieHeader || typeof cookieHeader !== "string") return cookies;
|
|
|
|
const segments = cookieHeader.split(";");
|
|
for (const segment of segments) {
|
|
const index = segment.indexOf("=");
|
|
if (index === -1) continue;
|
|
const key = segment.slice(0, index).trim();
|
|
const value = segment.slice(index + 1).trim();
|
|
if (!key) continue;
|
|
cookies[key] = decodeURIComponent(value);
|
|
}
|
|
|
|
return cookies;
|
|
}
|
|
|
|
module.exports = {
|
|
parseCookieHeader,
|
|
};
|