Module: AutomateSoup::Rest

Defined in:
lib/automate_soup/rest.rb

Overview

Rest class for making HTTP requests

Class Method Summary collapse

Class Method Details

.auth_request(request, user, token) ⇒ Object



33
34
35
36
37
# File 'lib/automate_soup/rest.rb', line 33

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) ⇒ Object



11
12
13
14
15
16
17
18
19
20
# File 'lib/automate_soup/rest.rb', line 11

def get(url: nil, username: nil, token: nil)
  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)
  JSON.parse(res.body)
end

.post(url: nil, username: nil, token: nil) ⇒ Object



22
23
24
25
26
27
28
29
30
31
# File 'lib/automate_soup/rest.rb', line 22

def post(url: nil, username: nil, token: nil)
  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