1
0
Fork 0
mirror of https://github.com/sussy-code/smov.git synced 2024-12-20 14:37:43 +01:00

Merge pull request #1108 from meghrathod/dev

Added alternate tmdb endpoint to fallback when main url is blocked
This commit is contained in:
William Oldham 2024-04-14 21:21:09 +01:00 committed by GitHub
commit 44694c6c5a
No known key found for this signature in database
GPG key ID: B5690EEEBB952194

View file

@ -144,6 +144,8 @@ export function decodeTMDBId(
} }
const baseURL = "https://api.themoviedb.org/3"; const baseURL = "https://api.themoviedb.org/3";
const otherUrl = "https://api.tmdb.org/3";
let useFallback = false;
const apiKey = conf().TMDB_READ_API_KEY; const apiKey = conf().TMDB_READ_API_KEY;
@ -154,14 +156,26 @@ const headers = {
async function get<T>(url: string, params?: object): Promise<T> { async function get<T>(url: string, params?: object): Promise<T> {
if (!apiKey) throw new Error("TMDB API key not set"); if (!apiKey) throw new Error("TMDB API key not set");
let res: T;
const res = await mwFetch<any>(encodeURI(url), { try {
headers, res = await mwFetch<T>(encodeURI(url), {
baseURL, headers,
params: { baseURL: !useFallback ? baseURL : otherUrl,
...params, params: {
}, ...params,
}); },
signal: AbortSignal.timeout(!useFallback ? 5000 : 30000),
});
} catch (err) {
useFallback = true;
res = await mwFetch<T>(encodeURI(url), {
headers,
baseURL: otherUrl,
params: {
...params,
},
});
}
return res; return res;
} }