From 3e293b355b1050b6308157571e338c7d73e31a81 Mon Sep 17 00:00:00 2001 From: Mahen Date: Mon, 13 Apr 2026 14:50:08 +0700 Subject: [PATCH] refactor: add debugger for analyze endpoint payload clarity --- src/services/analyze.service.ts | 26 +++++++++++++++++++------- 1 file changed, 19 insertions(+), 7 deletions(-) diff --git a/src/services/analyze.service.ts b/src/services/analyze.service.ts index fd328a0..d82b6fd 100644 --- a/src/services/analyze.service.ts +++ b/src/services/analyze.service.ts @@ -71,21 +71,33 @@ export const getAIRecommendation = async ( }, options?: { signal?: AbortSignal }, ): Promise => { + const base_url = process.env.BACKEND_URL || "http://localhost:8000"; console.log("Fetching to FastAPI..."); - const aiRes = await fetch(`${process.env.BACKEND_URL}/recommend`, { + console.log("=== AI RECOMMENDATION DEBUG ==="); + console.log("Base URL:", base_url); + console.log("Full URL:", `${base_url}/recommend`); + console.log("Payload:", JSON.stringify(payload, null, 2)); + + const aiRes = await fetch(`${base_url}/recommend`, { method: "POST", headers: { "Content-Type": "application/json" }, body: JSON.stringify(payload), signal: options?.signal, }); - if (!aiRes.ok) { - const errorData = await aiRes.json(); + console.log("Response status:", aiRes.status); + console.log("aiRes headers:", Object.fromEntries(aiRes.headers.entries())); - const errorMessage = - errorData.detail?.[0]?.msg || "Gagal melakukan analisis AI"; - throw new Error(errorMessage); + const text = await aiRes.text(); + console.log("Raw aiRes body:", text); + + if (!aiRes.ok) { + throw new Error(`HTTP ${aiRes.status}: ${text}`); } - return await aiRes.json(); + try { + return JSON.parse(text); + } catch { + throw new Error(`Response bukan JSON: ${text}`); + } };