Class: MyAsk::Api::Helper

Inherits:
Object
  • Object
show all
Defined in:
lib/myask/api/api_helper.rb

Class Method Summary collapse

Class Method Details

.make_request(method, uri, api_key, payload = nil) ⇒ Object



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
# File 'lib/myask/api/api_helper.rb', line 5

def self.make_request(method, uri, api_key, payload = nil)
  http = Net::HTTP.new(uri.host, uri.port)
  http.use_ssl = true if uri.scheme == 'https'

  if method == "Get"
    request = Net::HTTP::Get.new(uri.request_uri)
    request['Authorization'] = "Bearer #{api_key}"
    request["Content-Type"] = "application/json"
    response = http.request(request)
  elsif method == "Delete"
    request = Net::HTTP::Delete.new(uri.request_uri)
    request['Authorization'] = "Bearer #{api_key}"
    request["Content-Type"] = "application/json"
    request.body = payload.to_json
    response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
      http.request(request)
    end
  elsif method == "Patch"
    request = Net::HTTP::Patch.new(uri.request_uri)
    request['Authorization'] = "Bearer #{api_key}"
    request["Content-Type"] = "application/json"
    request.body = payload.to_json
    response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
      http.request(request)
    end
  else
    request = Net::HTTP::Post.new(uri.request_uri)
    request['Authorization'] = "Bearer #{api_key}"
    request["Content-Type"] = "application/json"
    request.body = payload.to_json
    response = Net::HTTP.start(uri.hostname, uri.port, use_ssl: uri.scheme == 'https') do |http|
      http.request(request)
    end
  end

  response
end