Module: MyobAcumatica::OAuth2::Http

Defined in:
lib/myob_acumatica/o_auth_2/http.rb

Class Method Summary collapse

Class Method Details

.post(uri:, body:, logger: nil) ⇒ Object



8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
# File 'lib/myob_acumatica/o_auth_2/http.rb', line 8

def post(uri:, body:, logger: nil)
  http = Net::HTTP.new(uri.host, uri.port)
  http.use_ssl = uri.scheme == 'https'
  http.verify_mode = OpenSSL::SSL::VERIFY_NONE
  http.set_debug_output(logger) if logger

  request = Net::HTTP::Post.new(uri, 'Content-Type' => 'application/x-www-form-urlencoded')
  request.set_form_data(body)
  response = http.request(request)

  if !response.is_a?(Net::HTTPSuccess)
    raise MyobAcumatica::Error, "HTTP #{response.code}: #{response.body}"
  end

  JSON.parse(response.body)
end