download_strategy: Miscalculated redirect when Location: is protocol-relative

This commit is contained in:
Viktor Szakats 2018-10-07 11:15:18 +00:00
parent c5a3cb75f3
commit 041cd039f7

View File

@ -336,7 +336,10 @@ class CurlDownloadStrategy < AbstractFileDownloadStrategy
.compact
redirect_url = locations.reduce(url) do |current_url, location|
if location.start_with?("/")
if location.start_with?("//")
uri = URI(current_url)
"#{uri.scheme}:#{location}"
elsif location.start_with?("/")
uri = URI(current_url)
"#{uri.scheme}://#{uri.host}#{location}"
else