api_caller 0.0.1

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 +7 -0
  2. data/lib/api_caller.rb +39 -0
  3. metadata +44 -0
checksums.yaml ADDED
@@ -0,0 +1,7 @@
1
+ ---
2
+ SHA1:
3
+ metadata.gz: 97c51b3d8fe126ce0e0c038aecc1c605d9ec173c
4
+ data.tar.gz: 25e461e6e2a5af7103e5321f51d2285d4b38006c
5
+ SHA512:
6
+ metadata.gz: 39f6ea70cb64f7a121b85881e4e6642be7e21297df52161f0ae903aa490f7a76e65941209853db24a44d7642597f3e72b8212a7f599457da503e4063e166458c
7
+ data.tar.gz: 35eae696a104c29fdb09c1ce82a178028143c026612a0e83f3c7944765f5fc1d9ba7d88937e346d9601f381560998d247e10a23487c4e580a8e32e0107a2dd52
data/lib/api_caller.rb ADDED
@@ -0,0 +1,39 @@
1
+ require 'net/http'
2
+
3
+ class ApiCaller
4
+
5
+ def self.get(uri_string, logger = nil)
6
+ response = nil
7
+
8
+ uri = URI(uri_string)
9
+ begin
10
+ Net::HTTP.start(uri.host, uri.port, {use_ssl: uri.scheme == 'https', open_timeout: 1}) do |http|
11
+ request = Net::HTTP::Get.new(uri)
12
+ response = http.request(request)
13
+ end
14
+ rescue Exception => e
15
+ logger.error("[API FAIL] - URI: [#{uri_string}] - Message: #{e.message}\n #{e.backtrace.join("\n ")}") if logger
16
+ end
17
+
18
+ response.is_a?(Net::HTTPSuccess) ? response.body.force_encoding(Encoding::UTF_8) : nil
19
+ end
20
+
21
+ def self.post(uri_string, params, content_type = {'Content-Type' => 'application/json'}, logger = nil)
22
+ response = nil
23
+
24
+ uri = URI(uri_string)
25
+ begin
26
+ Net::HTTP.start(uri.host, uri.port, {use_ssl: uri.scheme == 'https', open_timeout: 1}) do |http|
27
+ request = Net::HTTP::Post.new(uri, content_type)
28
+ request.body = params
29
+ response = http.request(request)
30
+ end
31
+ rescue Exception => e
32
+ logger.error("[API FAIL] - URI: [#{uri_string}] - Message: #{e.message}\n #{e.backtrace.join("\n ")}") if logger
33
+ end
34
+
35
+ response
36
+ end
37
+
38
+
39
+ end
metadata ADDED
@@ -0,0 +1,44 @@
1
+ --- !ruby/object:Gem::Specification
2
+ name: api_caller
3
+ version: !ruby/object:Gem::Version
4
+ version: 0.0.1
5
+ platform: ruby
6
+ authors:
7
+ - Team Nautilus
8
+ autorequire:
9
+ bindir: bin
10
+ cert_chain: []
11
+ date: 2016-07-27 00:00:00.000000000 Z
12
+ dependencies: []
13
+ description: Call api safely for get o post method.
14
+ email: nautilus@trovaprezzi.it
15
+ executables: []
16
+ extensions: []
17
+ extra_rdoc_files: []
18
+ files:
19
+ - lib/api_caller.rb
20
+ homepage: https://github.com/TeamNautilus/api_caller
21
+ licenses:
22
+ - MIT
23
+ metadata: {}
24
+ post_install_message:
25
+ rdoc_options: []
26
+ require_paths:
27
+ - lib
28
+ required_ruby_version: !ruby/object:Gem::Requirement
29
+ requirements:
30
+ - - ">="
31
+ - !ruby/object:Gem::Version
32
+ version: 2.3.0
33
+ required_rubygems_version: !ruby/object:Gem::Requirement
34
+ requirements:
35
+ - - ">="
36
+ - !ruby/object:Gem::Version
37
+ version: '0'
38
+ requirements: []
39
+ rubyforge_project:
40
+ rubygems_version: 2.5.1
41
+ signing_key:
42
+ specification_version: 4
43
+ summary: Call api safely.
44
+ test_files: []