api_caller 0.0.3 → 0.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (3) hide show
  1. checksums.yaml +4 -4
  2. data/lib/api_caller.rb +28 -4
  3. metadata +1 -1
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA1:
3
- metadata.gz: 077e20b3662922aa2d58c4641f3d4b1cba6be5f0
4
- data.tar.gz: fd067314aef0190c51f34c483e78ed123752bb2a
3
+ metadata.gz: ac28f76e8d98dbe79734c9a5f856dc45effcf2c0
4
+ data.tar.gz: f9a916d49e3f6aacd950131bca2418d85b0dca6a
5
5
  SHA512:
6
- metadata.gz: 6f0cca408a5b1c534f1987003bf9312c313f6bbd94d407e4d8a6367dd598a96f6dc9c0d35c9dc808b2c21b64342965883916177c7c6574a6db91fef35cf4d20f
7
- data.tar.gz: deeb49a13d588fc283c628cdbcc57ab392f18504dd774b0b32a55508ce3f84ab5587db2895593698583e96ab96dd67e48fdd96acc59c327b700dd30ba2d0b237
6
+ metadata.gz: 5308ea5fd5c1d30718c7d13be5e6058201edaa06667a1ac3cfbd56fe2b7653c0e284c3afd0b96e23840693b287e36e6c61005fdc85fd139a1f354a5653b3155b
7
+ data.tar.gz: 6acfa9365c84e7bb8f1ce37d96d4305078896fcdd9a7ef92499a8ccbab285163a92b01fbe2f35abe8276712abe306a6c9076890716133a27868e5287d5b2a418
data/lib/api_caller.rb CHANGED
@@ -19,21 +19,45 @@ class ApiCaller
19
19
  end
20
20
 
21
21
  def self.post(uri_string:, params:, content_type: nil, logger: nil)
22
+ if content_type
23
+ body_params_post(uri_string: uri_string, params: params, content_type: content_type, logger: logger)
24
+ else
25
+ url_params_post(uri_string: uri_string, params: params, logger: logger)
26
+ end
27
+ end
28
+
29
+ private
30
+
31
+ def self.url_params_post(uri_string:, params:, logger: nil)
22
32
  response = nil
23
33
 
24
34
  uri = URI(uri_string)
25
35
  begin
26
36
  Net::HTTP.start(uri.host, uri.port, {use_ssl: uri.scheme == 'https', open_timeout: 1}) do |http|
27
- request = content_type ? Net::HTTP::Post.new(uri, content_type) : Net::HTTP::Post.new(uri)
37
+ request = Net::HTTP::Post.new(uri)
38
+ post_data = URI.encode_www_form(params)
39
+ response = http.request(request, post_data)
40
+ response.body
41
+ end
42
+ rescue Exception => e
43
+ logger.error("[API FAIL] - URI: [#{uri_string}] - Message: #{e.message}\n #{e.backtrace.join("\n ")}") if logger
44
+ end
45
+ end
46
+
47
+ def self.body_params_post(uri_string:, params:, content_type: nil, logger: nil)
48
+ response = nil
49
+
50
+ uri = URI(uri_string)
51
+ begin
52
+ Net::HTTP.start(uri.host, uri.port, {use_ssl: uri.scheme == 'https', open_timeout: 1}) do |http|
53
+ request = Net::HTTP::Post.new(uri, content_type)
28
54
  request.body = params
29
55
  response = http.request(request)
56
+ response.body
30
57
  end
31
58
  rescue Exception => e
32
59
  logger.error("[API FAIL] - URI: [#{uri_string}] - Message: #{e.message}\n #{e.backtrace.join("\n ")}") if logger
33
60
  end
34
-
35
- response
36
61
  end
37
62
 
38
-
39
63
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: api_caller
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.0.3
4
+ version: 0.0.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Team Nautilus