module AutomateSoup::Rest

Rest class for making HTTP requests

Public Class Methods

auth_request(request, user, token) click to toggle source
# File lib/automate_soup/rest.rb, line 37
def auth_request(request, user, token)
  request.add_field('chef-delivery-user', user)
  request.add_field('chef-delivery-token', token)
  request
end
get(url: nil, username: nil, token: nil) click to toggle source
# File lib/automate_soup/rest.rb, line 11
def get(url: nil, username: nil, token: nil)
  puts "Making GET request to #{url}"
  uri = URI.parse(url)
  http = Net::HTTP.new(uri.host, uri.port)
  http.use_ssl = true
  http.verify_mode = ::OpenSSL::SSL::VERIFY_NONE
  request = Net::HTTP::Get.new(uri.request_uri)
  request = auth_request request, username, token
  res = http.request(request)
  res = JSON.parse(res.body)
  puts "Response: #{res}"
  res
end
post(url: nil, username: nil, token: nil) click to toggle source
# File lib/automate_soup/rest.rb, line 25
def post(url: nil, username: nil, token: nil)
  puts "Making POST request to #{url}"
  uri = URI.parse(url)
  http = Net::HTTP.new(uri.host, uri.port)
  http.use_ssl = true
  http.verify_mode = ::OpenSSL::SSL::VERIFY_NONE
  request = Net::HTTP::Post.new(uri.request_uri)
  request = auth_request request, username, token
  request.add_field('Content-Type', 'application/json;charset=utf-8')
  http.request(request)
end