From 3a443df693af822cf2483f4333b8b4f5e0f9a6df Mon Sep 17 00:00:00 2001 From: Bobby <30593201+luciferreeves@users.noreply.github.com> Date: Wed, 5 Nov 2025 22:19:55 +0530 Subject: Refactor fetchWordleAnswer to use proxy API Updated fetchWordleAnswer function to use a proxy for API requests and added error handling. --- script.js | 28 ++++++++++++++++++++++++---- 1 file changed, 24 insertions(+), 4 deletions(-) (limited to 'script.js') diff --git a/script.js b/script.js index 2b4a806..c1e40bd 100644 --- a/script.js +++ b/script.js @@ -206,10 +206,30 @@ document.addEventListener('click', closeAllDropdowns); */ async function fetchWordleAnswer(date) { const apiDate = formatDateForAPI(date); - const url = `https://www.nytimes.com/svc/wordle/v2/${apiDate}.json`; - const response = await fetch(url); - if (!response.ok) throw new Error('Answer not available for this date'); - return await response.json(); + const proxyBase = "https://wordle-proxy.bobbyskhs.workers.dev"; + + try { + const response = await fetch(`${proxyBase}/?date=${apiDate}`, { + headers: { + "Accept": "application/json", + }, + cache: "no-cache", + }); + + if (!response.ok) { + throw new Error(`Answer not available for ${apiDate}`); + } + + const data = await response.json(); + if (!data || !data.solution) { + throw new Error("Invalid data received from proxy"); + } + + return data; + } catch (error) { + console.error("Wordle fetch error:", error); + throw new Error("Failed to fetch Wordle data"); + } } /** -- cgit v1.2.3