diff --git a/Library/Homebrew/utils/curl.rb b/Library/Homebrew/utils/curl.rb index f6d7cbea7..0a2560965 100644 --- a/Library/Homebrew/utils/curl.rb +++ b/Library/Homebrew/utils/curl.rb @@ -85,7 +85,7 @@ module Utils return result if result.success? || !args.exclude?("--http1.1") - raise Timeout::Error, result.stderr.chomp if result.status.exitstatus == 28 + raise Timeout::Error, result.stderr.lines.last.chomp if timeout && result.status.exitstatus == 28 # Error in the HTTP2 framing layer if result.status.exitstatus == 16 @@ -176,9 +176,12 @@ module Utils hash_needed = false if url != secure_url user_agents.each do |user_agent| - secure_details = + secure_details = begin curl_http_content_headers_and_checksum(secure_url, specs: specs, hash_needed: true, user_agent: user_agent) + rescue Timeout::Error + next + end next unless http_status_ok?(secure_details[:status])