24 lines
467 B
Ruby
24 lines
467 B
Ruby
|
# frozen_string_literal: true
|
||
|
|
||
|
require 'net/http'
|
||
|
require 'json'
|
||
|
|
||
|
module Gitlab
|
||
|
module Danger
|
||
|
module RequestHelper
|
||
|
HTTPError = Class.new(RuntimeError)
|
||
|
|
||
|
# @param [String] url
|
||
|
def self.http_get_json(url)
|
||
|
rsp = Net::HTTP.get_response(URI.parse(url))
|
||
|
|
||
|
unless rsp.is_a?(Net::HTTPOK)
|
||
|
raise HTTPError, "Failed to read #{url}: #{rsp.code} #{rsp.message}"
|
||
|
end
|
||
|
|
||
|
JSON.parse(rsp.body)
|
||
|
end
|
||
|
end
|
||
|
end
|
||
|
end
|