Class: Microkit::HttpClient

Inherits:
Object
  • Object
show all
Includes:
Singleton
Defined in:
lib/microkit/http_client.rb

Instance Method Summary collapse

Instance Method Details

#post(action, uri = nil, post_data = nil) ⇒ Object



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
# File 'lib/microkit/http_client.rb', line 14

def post (action, uri = nil, post_data = nil) 
  data = {"options" => {"service" => Config.instance.get('service'), "action" => action, "lang" =>"ruby"}}
  
  if Config.instance.get("user") then
    data["user"] = Config.instance.get("user")
  end
  
  if post_data then 
    data = data.merge(post_data)
  end
  
  if Config.instance.get("key_vars_values") then
    data["key_vars_values"] = Config.instance.get("key_vars_values")
  end
  
  uri = URI("#{Config.instance.get("http") ? 'http' : 'https'}://#{Config.instance.get("base_url")}#{Config.instance.get("port") != "" ? ":#{Config.instance.get("port")}" : ""}/#{Config.instance.get("version")}/#{uri ? uri : ""}")
  https = Net::HTTP.new(uri.host,uri.port)
  https.use_ssl = !Config.instance.get("http")
  req = Net::HTTP::Post.new(uri.path, initheader = {'Content-Type' =>'application/json','Authorization' => "Bearer #{Config.instance.get("api_key")}"})
  req.body = data.to_json 
  res = https.request(req)
  
  return res.body
end