API: Proxy formatStreams URLs too (#4859)

The /api/v1/videos endpoint does not proxy the formatStreams URLs when
'local=true' is passed, whereas the adaptiveFormats URLs are correctly proxied.

The Web UI does proxy when clicking "Download" with 'fmt=18' for example, so
this is probably an oversight. This PR aims to fix that.

No related issue
This commit is contained in:
Samantaz Fox 2024-08-24 19:39:36 +02:00
commit 828da3c6ce
No known key found for this signature in database
GPG Key ID: F42821059186176E

View File

@ -162,7 +162,13 @@ module Invidious::JSONify::APIv1
json.array do json.array do
video.fmt_stream.each do |fmt| video.fmt_stream.each do |fmt|
json.object do json.object do
json.field "url", fmt["url"] if proxy
json.field "url", Invidious::HttpServer::Utils.proxy_video_url(
fmt["url"].to_s, absolute: true
)
else
json.field "url", fmt["url"]
end
json.field "itag", fmt["itag"].as_i.to_s json.field "itag", fmt["itag"].as_i.to_s
json.field "type", fmt["mimeType"] json.field "type", fmt["mimeType"]
json.field "quality", fmt["quality"] json.field "quality", fmt["quality"]