def download(url, output, options = {})
if options[:use_cache] && cache_dir = PhusionPassenger.download_cache_dir
basename = url.sub(/.*\//, '')
if File.exist?("#{cache_dir}/#{basename}")
puts "Copying #{basename} from #{cache_dir}..."
FileUtils.cp("#{cache_dir}/#{basename}", output)
return true
end
end
args = []
if PlatformInfo.find_command("wget")
if options[:cacert]
args << "--ca-certificate=#{options[:cacert]}"
end
return sh("wget", "--tries=3", "-O", output, url, *args)
else
if options[:cacert]
args << "--cacert"
args << options[:cacert]
end
return sh("curl", url, "-f", "-L", "-o", output, *args)
end
end