Module: CommaAPI::HTTP

Included in:
API, Athena
Defined in:
lib/api_client_lib.rb

Instance Method Summary collapse

Instance Method Details

#http(uri:) ⇒ Object



26
27
28
29
30
31
# File 'lib/api_client_lib.rb', line 26

def http(uri:)
  http = Net::HTTP.new uri.host, uri.port
  http.use_ssl = true
  http.verify_mode = OpenSSL::SSL::VERIFY_PEER
  http
end

#post_request(url:, data:) ⇒ Object



17
18
19
20
21
22
23
24
# File 'lib/api_client_lib.rb', line 17

def post_request(url:, data:)
  uri  = URI url
  req  = Net::HTTP::Post.new uri.request_uri
  req["Authorization"] = "JWT #{::JWT_TOKEN}"
  req.body = data
  resp = http(uri: uri).request req
  JSON.parse resp.body
end

#request(url:) ⇒ Object



8
9
10
11
12
13
14
15
# File 'lib/api_client_lib.rb', line 8

def request(url:)
  uri  = URI url
  req  = Net::HTTP::Get.new uri.request_uri
  req["Authorization"] = "JWT #{::JWT_TOKEN}"
  resp = http(uri: uri).request req
  return RPCError404.new if resp.code == "404"
  JSON.parse resp.body
end