diff --git a/Library/Homebrew/utils/curl.rb b/Library/Homebrew/utils/curl.rb index 65cbdbe92b..32161e4286 100644 --- a/Library/Homebrew/utils/curl.rb +++ b/Library/Homebrew/utils/curl.rb @@ -119,6 +119,8 @@ module Utils end def parse_headers(headers) + return {} unless headers + headers.split("\n").to_h do |h| partitioned = h.partition(": ") [partitioned.first, partitioned.last] @@ -145,10 +147,9 @@ module Utils end end - - args += ["--location", "--remote-time", "--output", destination] + args = ["--location", "--remote-time", "--output", destination] + args # continue-at shouldn't be used with servers that don't support partial requests. - args += ["--continue-at", "-"] if destination.exist? && supports_partial + args = ["--continue-at", "-"] + args if destination.exist? && supports_partial curl(*args, **options) end