32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
|
# File 'lib/em-synchrony/em-bitly.rb', line 32
def get(method, query)
query_values=[]
query[:query].each do |key, value|
query_values << "#{key}=#{CGI::escape(value.to_s)}"
end
query_values=query_values.join('&')
request=(method[0]=='/' ? "#{base_uri}#{method}" : method)
request=(request.include?('?') ? "#{request}&#{query_values}" : "#{request}?#{query_values}")
http = EventMachine::HttpRequest.new(request).get(:timeout => 100)
response = if (http..status == 200)
Crack::JSON.parse(http.response)
else
{'errorMessage' => 'JSON Parse Error(Bit.ly messed up)', 'errorCode' => 69, 'statusCode' => 'ERROR'}
end
if response['status_code'] == 200
return response
else
raise BitlyError.new(response['status_txt'], response['status_code'])
end
end
|