18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
|
# File 'lib/coveralls/api.rb', line 18
def self.post_json(endpoint, hash)
disable_net_blockers!
url = endpoint_to_url(endpoint)
Coveralls::Output.puts("#{ MultiJson.dump(hash, :pretty => true) }", :color => "green") if ENV['COVERALLS_DEBUG']
hash = apified_hash hash
Coveralls::Output.puts("[Coveralls] Submitting to #{API_BASE}", :color => "cyan")
response = RestClient::Request.execute(:method => :post, :url => url, :payload => { :json_file => hash_to_file(hash) }, :ssl_version => 'SSLv23')
response_hash = MultiJson.load(response.to_str)
Coveralls::Output.puts("[Coveralls] #{ response_hash['message'] }", :color => "cyan")
if response_hash['message']
Coveralls::Output.puts("[Coveralls] #{ Coveralls::Output.format(response_hash['url'], :color => "underline") }", :color => "cyan")
end
rescue RestClient::ServiceUnavailable
Coveralls::Output.puts("[Coveralls] API timeout occured, but data should still be processed", :color => "red")
rescue RestClient::InternalServerError
Coveralls::Output.puts("[Coveralls] API internal error occured, we're on it!", :color => "red")
end
|