summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorSamantaz Fox <coding@samantaz.fr>2024-07-21 13:55:24 +0200
committerSamantaz Fox <coding@samantaz.fr>2024-07-21 17:23:44 +0200
commit5a12005b481367d9fbdf1f473abd84ce2bb6577b (patch)
tree2596bf27cc29963b079cf9f0b71eddec4f028d32 /src
parentbad92093bff66bfb0281e5276fa0e136a61ba330 (diff)
parentc251c667487d4f2362d9527afb3c8d69cd089d0b (diff)
downloadinvidious-5a12005b481367d9fbdf1f473abd84ce2bb6577b.tar.gz
invidious-5a12005b481367d9fbdf1f473abd84ce2bb6577b.tar.bz2
invidious-5a12005b481367d9fbdf1f473abd84ce2bb6577b.zip
API: Fix URL for vtt subtitles (#4221)
For 'fmt=vtt' to work, the 'fmt' parameter needs to be replaced in the original caption api URL. No associated open issue
Diffstat (limited to 'src')
-rw-r--r--src/invidious/routes/api/v1/videos.cr6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/invidious/routes/api/v1/videos.cr b/src/invidious/routes/api/v1/videos.cr
index faff2f59..5e269923 100644
--- a/src/invidious/routes/api/v1/videos.cr
+++ b/src/invidious/routes/api/v1/videos.cr
@@ -141,7 +141,11 @@ module Invidious::Routes::API::V1::Videos
end
end
else
- webvtt = YT_POOL.client &.get("#{url}&fmt=vtt").body
+ uri = URI.parse(url)
+ query_params = uri.query_params
+ query_params["fmt"] = "vtt"
+ uri.query_params = query_params
+ webvtt = YT_POOL.client &.get(uri.request_target).body
if webvtt.starts_with?("<?xml")
webvtt = caption.timedtext_to_vtt(webvtt)