Method: Pochette::Backends::BlockchainInfo#get_json
- Defined in:
- lib/pochette/backends/blockchain_info.rb
#get_json(path, params = {}) ⇒ Object
103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 |
# File 'lib/pochette/backends/blockchain_info.rb', line 103 def get_json(path, params={}) params['api_code'] = api_key if api_key query = params.empty? ? '' : "?#{params.to_query}" retries = 30 begin raw_response = open("https://blockchain.info/#{path}#{query}").read sleep cooldown Oj.load(raw_response) rescue OpenURI::HTTPError => e raise if retries < 0 || e..to_i != 429 retries -= 1 sleep (cooldown * 5) retry end end |