|
|
@ -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
|
|
|
|