diff --git a/src/backend/metadata/tmdb.ts b/src/backend/metadata/tmdb.ts index 2e675f10..67a79490 100644 --- a/src/backend/metadata/tmdb.ts +++ b/src/backend/metadata/tmdb.ts @@ -143,8 +143,9 @@ export function decodeTMDBId( }; } +const baseURL = "https://api.themoviedb.org/3"; const otherUrl = "https://api.tmdb.org/3"; -let baseURL = "https://api.themoviedb.org/3"; +let useFallback = false; const apiKey = conf().TMDB_READ_API_KEY; @@ -155,33 +156,26 @@ const headers = { async function get(url: string, params?: object): Promise { if (!apiKey) throw new Error("TMDB API key not set"); - let res: T; - try { res = await mwFetch(encodeURI(url), { headers, - baseURL, + baseURL: !useFallback ? baseURL : otherUrl, params: { ...params, }, - signal: AbortSignal.timeout(baseURL !== otherUrl ? 5000 : 30000), + signal: AbortSignal.timeout(!useFallback ? 5000 : 30000), }); } catch (err) { - if (baseURL !== otherUrl) { - baseURL = otherUrl; - res = await mwFetch(encodeURI(url), { - headers, - baseURL, - params: { - ...params, - }, - }); - } else { - res = Promise.reject(); - } + useFallback = true; + res = await mwFetch(encodeURI(url), { + headers, + baseURL: otherUrl, + params: { + ...params, + }, + }); } - return res; }