api_caller 0.0.1

Sign up to get free protection for your applications and to get access to all the features.
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: []