fix(core): prefer explicit cookie source

This commit is contained in:
2026-04-28 21:34:40 -04:00
parent df2635d92f
commit 7966073bf8
2 changed files with 15 additions and 5 deletions

View File

@@ -28,7 +28,6 @@ const KIJIJI_COOKIE_CONFIG: CookieConfig = {
name: "Kijiji",
domain: ".kijiji.ca",
envVar: "KIJIJI_COOKIE",
filePath: "./cookies/kijiji.json",
};
// ----------------------------- Types -----------------------------

View File

@@ -41,9 +41,9 @@ export function parseCookieString(
.split(";")
.map((pair) => pair.trim())
.filter((pair) => pair.includes("="))
.map((pair) => {
.map((pair): Cookie | null => {
const [name, ...valueParts] = pair.split("=");
const trimmedName = name.trim();
const trimmedName = name?.trim();
const trimmedValue = valueParts.join("=").trim();
if (!trimmedName || !trimmedValue) {
@@ -98,9 +98,20 @@ export function formatCookiesForHeader(
}
/**
* Load cookies from the configured environment variable
* Load cookies from the configured environment variable or explicit cookie string
*/
export async function ensureCookies(config: CookieConfig): Promise<Cookie[]> {
export async function ensureCookies(
config: CookieConfig,
cookiesSource?: string,
): Promise<Cookie[]> {
// Explicit cookie string takes priority
if (cookiesSource) {
const cookies = parseCookieString(cookiesSource, config.domain);
if (cookies.length > 0) {
return cookies;
}
}
const envValue = process.env[config.envVar];
const cookies = parseCookieString(envValue ?? "", config.domain);