13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
# File 'lib/berbix.rb', line 13
def request(method, url, , opts={})
uri = URI(url)
klass = if method == :post
Net::HTTP::Post
else
Net::HTTP::Get
end
req = klass.new(uri.to_s, )
unless opts[:data].nil?
req.body = opts[:data].to_json
end
unless opts[:auth].nil?
req.basic_auth(opts[:auth][:user], opts[:auth][:pass])
end
cli = Net::HTTP.new(uri.host, uri.port).tap do |http|
http.use_ssl = true
end
res = cli.request(req)
code = res.code.to_i
if code < 200 || code >= 300
raise 'unexpected status code returned'
end
JSON.parse(res.body)
end
|