1.0.10-addcookie

This commit is contained in:
ddmt 2025-02-07 11:28:18 +08:00
parent 3ecf33036c
commit 3c1d369b36

View File

@ -108,4 +108,44 @@ function parseNginxLog (log) {
return error; return error;
} }
return null; return null;
}
/*
* cookies 解析函数
* @param {string} cookiesStr
* @return {Array} CookieArray
*/
function toCookiesArray(cookies) {
if (!cookies || cookies.length === 0) return;
// 解析旧的 cookies
const cookieMap = {};
cookies.split("; ").forEach(cookie => {
const [key, value] = cookie.split("=");
if (key) cookieMap[key] = value;
});
return cookieMap;
}
/*
* cookies 更新函数
* @param {Array} setCookieArray 新的 Set-Cookie 数组
*/
function updateCookies(cookies, setCookieArray) {
if (!setCookieArray || setCookieArray.length === 0) return;
// 解析旧的 cookies
const cookieMap = toCookiesArray(cookies);
// 解析新的 Set-Cookie 数组并更新
setCookieArray.forEach(cookieStr => {
const cookiePair = cookieStr.split(";")[0]; // 只取 key=value
const [key, value] = cookiePair.split("=");
if (key) cookieMap[key] = value;
});
// 重新拼接成字符串存回全局 cookies
return Object.entries(cookieMap).map(([key, value]) => `${key}=${value}`).join("; ");
} }