summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/invidious/routes/api/v1/misc.cr5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/invidious/routes/api/v1/misc.cr b/src/invidious/routes/api/v1/misc.cr
index bad47709..47ec977e 100644
--- a/src/invidious/routes/api/v1/misc.cr
+++ b/src/invidious/routes/api/v1/misc.cr
@@ -159,6 +159,11 @@ module Invidious::Routes::API::V1::Misc
return error_json(400, "Missing URL to resolve") if !url
begin
+ head_response = HTTP::Client.head url.as(String)
+ if head_response.headers["location"]?
+ url = head_response.headers["location"]
+ end
+
resolved_url = YoutubeAPI.resolve_url(url.as(String))
endpoint = resolved_url["endpoint"]
pageType = endpoint.dig?("commandMetadata", "webCommandMetadata", "webPageType").try &.as_s || ""