|
|
@ -161,12 +161,11 @@ module Invidious::Routes::API::V1::Misc
|
|
|
|
begin
|
|
|
|
begin
|
|
|
|
resolved_url = YoutubeAPI.resolve_url(url.as(String))
|
|
|
|
resolved_url = YoutubeAPI.resolve_url(url.as(String))
|
|
|
|
endpoint = resolved_url["endpoint"]
|
|
|
|
endpoint = resolved_url["endpoint"]
|
|
|
|
|
|
|
|
pageType = endpoint.dig?("commandMetadata", "webCommandMetadata", "webPageType").try &.as_s || ""
|
|
|
|
if resolved_ucid = endpoint.dig?("watchEndpoint", "videoId")
|
|
|
|
if resolved_ucid = endpoint.dig?("watchEndpoint", "videoId")
|
|
|
|
elsif resolved_ucid = endpoint.dig?("browseEndpoint", "browseId")
|
|
|
|
elsif resolved_ucid = endpoint.dig?("browseEndpoint", "browseId")
|
|
|
|
elsif pageType = endpoint.dig?("commandMetadata", "webCommandMetadata", "webPageType").try &.as_s || ""
|
|
|
|
elsif pageType == "WEB_PAGE_TYPE_UNKNOWN"
|
|
|
|
if pageType == "WEB_PAGE_TYPE_UNKNOWN"
|
|
|
|
return error_json(400, "Unknown url")
|
|
|
|
return error_json(400, "Unknown url")
|
|
|
|
|
|
|
|
end
|
|
|
|
|
|
|
|
end
|
|
|
|
end
|
|
|
|
rescue ex
|
|
|
|
rescue ex
|
|
|
|
return error_json(500, ex)
|
|
|
|
return error_json(500, ex)
|
|
|
@ -174,6 +173,7 @@ module Invidious::Routes::API::V1::Misc
|
|
|
|
JSON.build do |json|
|
|
|
|
JSON.build do |json|
|
|
|
|
json.object do
|
|
|
|
json.object do
|
|
|
|
json.field "ucid", resolved_ucid.try &.as_s || ""
|
|
|
|
json.field "ucid", resolved_ucid.try &.as_s || ""
|
|
|
|
|
|
|
|
json.field "pageType", pageType
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|
end
|
|
|
|