From bbd6ceb084e01422968c75b0daf0069a5b7377da Mon Sep 17 00:00:00 2001 From: Peter Meier Date: Mon, 22 Dec 2025 14:04:21 +0100 Subject: [PATCH] Add detailed cookie debugging and validation --- src/pages/api/download.ts | 23 ++++++++++++++++++----- 1 file changed, 18 insertions(+), 5 deletions(-) diff --git a/src/pages/api/download.ts b/src/pages/api/download.ts index 4dfe793..c9c757a 100644 --- a/src/pages/api/download.ts +++ b/src/pages/api/download.ts @@ -30,7 +30,10 @@ export const POST: APIRoute = async ({ request }) => { let tempCookiesFile: string | null = null; try { - const { url, cookies } = await request.json(); + const body = await request.json(); + const { url, cookies } = body; + + console.log(`Request erhalten - URL: ${url}, Cookies vorhanden: ${!!cookies}, Cookie-Länge: ${cookies ? cookies.length : 0}`); if (!url || typeof url !== "string") { return new Response( @@ -59,6 +62,10 @@ export const POST: APIRoute = async ({ request }) => { fileContent.length } Zeichen, erste Zeile: ${fileContent.split("\n")[0]}` ); + // Prüfe ob wichtige Cookies vorhanden sind + const hasLoginInfo = fileContent.includes("LOGIN_INFO"); + const hasSID = fileContent.includes("SID"); + console.log(`Cookie-Prüfung - LOGIN_INFO: ${hasLoginInfo}, SID: ${hasSID}`); } } catch (error) { console.error( @@ -67,6 +74,8 @@ export const POST: APIRoute = async ({ request }) => { ); // Weiter ohne Cookies } + } else { + console.log("Keine Cookies im Request oder leer"); } // YouTube URL validieren @@ -361,11 +370,15 @@ export const POST: APIRoute = async ({ request }) => { { status: 500, headers: { "Content-Type": "application/json" } } ); } finally { - // Temporäre Cookie-Datei löschen falls vorhanden + // Temporäre Cookie-Datei löschen falls vorhanden (nach einer kurzen Verzögerung, damit Debugging möglich ist) if (tempCookiesFile && existsSync(tempCookiesFile)) { - await unlink(tempCookiesFile).catch((err) => { - console.error("Fehler beim Löschen der temporären Cookie-Datei:", err); - }); + // Warte kurz, damit die Datei für Debugging verfügbar bleibt + const fileToDelete = tempCookiesFile; + setTimeout(async () => { + await unlink(fileToDelete).catch((err) => { + console.error("Fehler beim Löschen der temporären Cookie-Datei:", err); + }); + }, 5000); // 5 Sekunden Verzögerung } } };