Fix uninitialized constant error in GitHub.open
The error handling depends on side effects of `require "net/https"`, so it should be wrapped in an explicit begin block. cf. Homebrew/homebrew#30407.
This commit is contained in:
parent
3d69e5ab7b
commit
2daabe9863
@ -311,15 +311,18 @@ module GitHub extend self
|
|||||||
}
|
}
|
||||||
|
|
||||||
default_headers['Authorization'] = "token #{HOMEBREW_GITHUB_API_TOKEN}" if HOMEBREW_GITHUB_API_TOKEN
|
default_headers['Authorization'] = "token #{HOMEBREW_GITHUB_API_TOKEN}" if HOMEBREW_GITHUB_API_TOKEN
|
||||||
Kernel.open(url, default_headers.merge(headers)) do |f|
|
|
||||||
yield Utils::JSON.load(f.read)
|
begin
|
||||||
|
Kernel.open(url, default_headers.merge(headers)) do |f|
|
||||||
|
yield Utils::JSON.load(f.read)
|
||||||
|
end
|
||||||
|
rescue OpenURI::HTTPError => e
|
||||||
|
handle_api_error(e)
|
||||||
|
rescue SocketError, OpenSSL::SSL::SSLError => e
|
||||||
|
raise Error, "Failed to connect to: #{url}\n#{e.message}", e.backtrace
|
||||||
|
rescue Utils::JSON::Error => e
|
||||||
|
raise Error, "Failed to parse JSON response\n#{e.message}", e.backtrace
|
||||||
end
|
end
|
||||||
rescue OpenURI::HTTPError => e
|
|
||||||
handle_api_error(e)
|
|
||||||
rescue SocketError, OpenSSL::SSL::SSLError => e
|
|
||||||
raise Error, "Failed to connect to: #{url}\n#{e.message}", e.backtrace
|
|
||||||
rescue Utils::JSON::Error => e
|
|
||||||
raise Error, "Failed to parse JSON response\n#{e.message}", e.backtrace
|
|
||||||
end
|
end
|
||||||
|
|
||||||
def handle_api_error(e)
|
def handle_api_error(e)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user