diff --git a/src/InvidiousAPI.ts b/src/InvidiousAPI.ts index 074f3bb..70ea031 100644 --- a/src/InvidiousAPI.ts +++ b/src/InvidiousAPI.ts @@ -32,7 +32,7 @@ export const getInvidiousSearchURL = (query: string): string => `${INVIDIOUS_API_ENDPOINT}/search?q=${encodeURIComponent(query)}`; export const getInvidiousThumbnailURL = (url: string): string => - `${INVIDIOUS_BASE_URL}${url}`; + `${INVIDIOUS_BASE_URL}/${url}`; const preferredThumbnailAPIURL = (thumbnails: InvidiousVideoThumbnail[] | undefined): string => { if (!thumbnails || thumbnails.length === 0) { diff --git a/src/server.ts b/src/server.ts index 3e852ef..0163faa 100644 --- a/src/server.ts +++ b/src/server.ts @@ -118,7 +118,8 @@ apiRouter.get("/thumbnail", withErrorHandling(async (req, res) => { } try { - const response = await fetch(getInvidiousThumbnailURL(thumbnailUrl)); + const thumbnailUrlWithoutLeadingSlash = thumbnailUrl.startsWith('/') ? thumbnailUrl.slice(1) : thumbnailUrl; + const response = await fetch(getInvidiousThumbnailURL(thumbnailUrlWithoutLeadingSlash)); if (!response.ok) { throw new Error(`HTTP error! status: ${response.status}`); }