diff options
| author | Samantaz Fox <coding@samantaz.fr> | 2022-02-24 22:37:54 +0100 |
|---|---|---|
| committer | Samantaz Fox <coding@samantaz.fr> | 2022-02-24 22:37:54 +0100 |
| commit | 004e37105106b980736aa026c65ae86c8dc8a828 (patch) | |
| tree | 1d89c063657dcd75585efec218b6f98771ec4b99 /src | |
| parent | 2f335b3d2c2805d5de1b0204920c439b87f5646b (diff) | |
| download | invidious-004e37105106b980736aa026c65ae86c8dc8a828.tar.gz invidious-004e37105106b980736aa026c65ae86c8dc8a828.tar.bz2 invidious-004e37105106b980736aa026c65ae86c8dc8a828.zip | |
Don't double-encode file title
Diffstat (limited to 'src')
| -rw-r--r-- | src/invidious/routes/video_playback.cr | 4 | ||||
| -rw-r--r-- | src/invidious/routes/watch.cr | 7 |
2 files changed, 5 insertions, 6 deletions
diff --git a/src/invidious/routes/video_playback.cr b/src/invidious/routes/video_playback.cr index df243945..3a92ef96 100644 --- a/src/invidious/routes/video_playback.cr +++ b/src/invidious/routes/video_playback.cr @@ -164,7 +164,9 @@ module Invidious::Routes::VideoPlayback if title = query_params["title"]? # https://blog.fastmail.com/2011/06/24/download-non-english-filenames/ - env.response.headers["Content-Disposition"] = "attachment; filename=\"#{URI.encode_www_form(title)}\"; filename*=UTF-8''#{URI.encode_www_form(title)}" + filename = URI.encode_www_form(title, space_to_plus: false) + header = "attachment; filename=\"#{filename}\"; filename*=UTF-8''#{filename}" + env.response.headers["Content-Disposition"] = header end if !resp.headers.includes_word?("Transfer-Encoding", "chunked") diff --git a/src/invidious/routes/watch.cr b/src/invidious/routes/watch.cr index 7688d2a8..94148bc0 100644 --- a/src/invidious/routes/watch.cr +++ b/src/invidious/routes/watch.cr @@ -304,12 +304,9 @@ module Invidious::Routes::Watch end download_widget = JSON.parse(selection) - extension = download_widget["ext"].as_s - filename = URI.encode_www_form( - "#{video_id}-#{title}.#{extension}", - space_to_plus: false - ) + 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 |
