46 lines
1.1 KiB
Ruby
46 lines
1.1 KiB
Ruby
require 'net/https'
|
|
|
|
module PackageCloud
|
|
module Helper
|
|
def get(uri, params)
|
|
uri.query = URI.encode_www_form(params)
|
|
req = Net::HTTP::Get.new(uri.request_uri)
|
|
|
|
req.basic_auth uri.user, uri.password if uri.user
|
|
|
|
proxy = node['packagecloud'].values_at('proxy_host', 'proxy_port')
|
|
http = Net::HTTP.new(uri.hostname, uri.port, *(proxy if proxy.first))
|
|
http.use_ssl = true
|
|
|
|
resp = http.start { |h| h.request(req) }
|
|
|
|
case resp
|
|
when Net::HTTPSuccess
|
|
resp
|
|
else
|
|
raise resp.inspect
|
|
end
|
|
end
|
|
|
|
def post(uri, params)
|
|
req = Net::HTTP::Post.new(uri.request_uri)
|
|
req.form_data = params
|
|
|
|
req.basic_auth uri.user, uri.password if uri.user
|
|
|
|
proxy = node['packagecloud'].values_at('proxy_host', 'proxy_port')
|
|
http = Net::HTTP.new(uri.hostname, uri.port, *(proxy if proxy.first))
|
|
http.use_ssl = true
|
|
|
|
resp = http.start { |h| h.request(req) }
|
|
|
|
case resp
|
|
when Net::HTTPSuccess
|
|
resp
|
|
else
|
|
raise resp.inspect
|
|
end
|
|
end
|
|
end
|
|
end
|