11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
|
# File 'lib/vote_smart/common.rb', line 11
def request(api_method, params = {})
raise "on_complete block required" unless block_given?
url = construct_url api_method, params
new_request = Typhoeus::Request.new(url)
new_request.on_complete do |response|
next if response.body.size < 2
json = JSON.parse(response.body)
if json['error'] and json['error']['errorMessage'] == 'Authorization failed'
raise RequestFailed.new(json['error']['errorMessage'])
end
yield json
end
session.queue new_request
end
|