From 7c516c04686adfee0cdcdfb7abbbdbd5d2a929b4 Mon Sep 17 00:00:00 2001 From: wukko Date: Mon, 28 Oct 2024 12:08:12 +0600 Subject: [PATCH] api/cookie/manager: pass `cookiePath` to `writeChanges()` also reordered functions to maintain the hierarchy --- api/src/processing/cookie/manager.js | 39 ++++++++++++++-------------- 1 file changed, 20 insertions(+), 19 deletions(-) diff --git a/api/src/processing/cookie/manager.js b/api/src/processing/cookie/manager.js index 060f8695..02eecfda 100644 --- a/api/src/processing/cookie/manager.js +++ b/api/src/processing/cookie/manager.js @@ -1,26 +1,15 @@ import Cookie from './cookie.js'; + import { readFile, writeFile } from 'fs/promises'; -import { parse as parseSetCookie, splitCookiesString } from 'set-cookie-parser'; import { Green, Yellow } from '../../misc/console-text.js'; +import { parse as parseSetCookie, splitCookiesString } from 'set-cookie-parser'; const WRITE_INTERVAL = 60000, COUNTER = Symbol('counter'); let cookies = {}, dirty = false, intervalId; -export const setup = async (cookiePath) => { - try { - cookies = await readFile(cookiePath, 'utf8'); - cookies = JSON.parse(cookies); - intervalId = setInterval(writeChanges, WRITE_INTERVAL); - console.log(`${Green('[✓]')} cookies loaded successfully!`) - } catch(e) { - console.error(`${Yellow('[!]')} failed to load cookies.`); - console.error('error:', e); - } -} - -function writeChanges() { +function writeChanges(cookiePath) { if (!dirty) return; dirty = false; @@ -29,6 +18,18 @@ function writeChanges() { }) } +export const setup = async (cookiePath) => { + try { + cookies = await readFile(cookiePath, 'utf8'); + cookies = JSON.parse(cookies); + intervalId = setInterval(() => writeChanges(cookiePath), WRITE_INTERVAL); + console.log(`${Green('[✓]')} cookies loaded successfully!`) + } catch(e) { + console.error(`${Yellow('[!]')} failed to load cookies.`); + console.error('error:', e); + } +} + export function getCookie(service) { if (!cookies[service] || !cookies[service].length) return; @@ -46,6 +47,11 @@ export function getCookie(service) { return cookies[service][n] } +export function updateCookieValues(cookie, values) { + cookie.set(values); + if (Object.keys(values).length) dirty = true +} + export function updateCookie(cookie, headers) { if (!cookie) return; @@ -58,8 +64,3 @@ export function updateCookie(cookie, headers) { parsed.filter(c => !c.expires || c.expires > new Date()).forEach(c => values[c.name] = c.value); updateCookieValues(cookie, values); } - -export function updateCookieValues(cookie, values) { - cookie.set(values); - if (Object.keys(values).length) dirty = true -}