1.0.10-addcookie
This commit is contained in:
parent
3ecf33036c
commit
3c1d369b36
@ -109,3 +109,43 @@ function parseNginxLog (log) {
|
|||||||
}
|
}
|
||||||
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("; ");
|
||||||
|
}
|
Loading…
x
Reference in New Issue
Block a user