Video proxy: always include the 'range' header

This commit is contained in:
Samantaz Fox 2023-01-14 20:00:46 +01:00
parent 05258d56bd
commit 4ee483282e
No known key found for this signature in database
GPG Key ID: F42821059186176E

View File

@ -35,6 +35,13 @@ module Invidious::Routes::VideoPlayback
end end
end end
# See: https://github.com/iv-org/invidious/issues/3302
range_header = env.request.headers["Range"]?
if range_header.nil?
range_for_head = query_params["range"]? || "0-640"
headers["Range"] = "bytes=#{range_for_head}"
end
client = make_client(URI.parse(host), region) client = make_client(URI.parse(host), region)
response = HTTP::Client::Response.new(500) response = HTTP::Client::Response.new(500)
error = "" error = ""
@ -70,6 +77,9 @@ module Invidious::Routes::VideoPlayback
end end
end end
# Remove the Range header added previously.
headers.delete("Range") if range_header.nil?
if response.status_code >= 400 if response.status_code >= 400
env.response.content_type = "text/plain" env.response.content_type = "text/plain"
haltf env, response.status_code haltf env, response.status_code