diff options
| author | Samantaz Fox <coding@samantaz.fr> | 2022-05-07 15:34:56 +0200 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2022-05-07 15:34:56 +0200 |
| commit | 81ca205caa5e97767a48ef559dbef2d2330bee8e (patch) | |
| tree | 443b5a213e28ca1270afebdecd4585e4d0b1475e /src | |
| parent | ef8c7184de2da3dd143dfc54dcb8f20d0ab67dc8 (diff) | |
| download | invidious-81ca205caa5e97767a48ef559dbef2d2330bee8e.tar.gz invidious-81ca205caa5e97767a48ef559dbef2d2330bee8e.tar.bz2 invidious-81ca205caa5e97767a48ef559dbef2d2330bee8e.zip | |
Fix download of captions
Diffstat (limited to 'src')
| -rw-r--r-- | src/invidious/routes/watch.cr | 17 |
1 files changed, 9 insertions, 8 deletions
diff --git a/src/invidious/routes/watch.cr b/src/invidious/routes/watch.cr index 867ffa6a..75475430 100644 --- a/src/invidious/routes/watch.cr +++ b/src/invidious/routes/watch.cr @@ -308,25 +308,26 @@ module Invidious::Routes::Watch extension = download_widget["ext"].as_s filename = "#{video_id}-#{title}.#{extension}" - # Pass form parameters as URL parameters for the handlers of both - # /latest_version and /api/v1/captions. This avoids an un-necessary - # redirect and duplicated (and hazardous) sanity checks. - env.params.query["id"] = video_id - env.params.query["title"] = filename - - # Delete the useless ones + # Delete the now useless URL parameters env.params.body.delete("id") env.params.body.delete("title") env.params.body.delete("download_widget") + # Pass form parameters as URL parameters for the handlers of both + # /latest_version and /api/v1/captions. This avoids an un-necessary + # redirect and duplicated (and hazardous) sanity checks. if label = download_widget["label"]? # URL params specific to /api/v1/captions/:id - env.params.query["label"] = URI.encode_www_form(label.as_s, space_to_plus: false) + env.params.url["id"] = video_id + env.params.query["title"] = filename + env.params.query["label"] = URI.decode_www_form(label.as_s) return Invidious::Routes::API::V1::Videos.captions(env) elsif itag = download_widget["itag"]?.try &.as_i # URL params specific to /latest_version + env.params.query["id"] = video_id env.params.query["itag"] = itag.to_s + env.params.query["title"] = filename env.params.query["local"] = "true" return Invidious::Routes::VideoPlayback.latest_version(env) |
