api_consumer 0.0.1 → 0.0.2
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.
- checksums.yaml +8 -8
- data/lib/api_consumer.rb +41 -12
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,15 +1,15 @@
|
|
1
1
|
---
|
2
2
|
!binary "U0hBMQ==":
|
3
3
|
metadata.gz: !binary |-
|
4
|
-
|
4
|
+
M2M5NDM5ZDgwZDhjZDQyZjM1MTQwZjJkZmE1YWZmZTZiOGM0OGEwNw==
|
5
5
|
data.tar.gz: !binary |-
|
6
|
-
|
6
|
+
YTUzMDRhNzg3ZGQyMjQyZjZhZTdkNGYwZjIzNTBlZmRkMmYyODQyMA==
|
7
7
|
SHA512:
|
8
8
|
metadata.gz: !binary |-
|
9
|
-
|
10
|
-
|
11
|
-
|
9
|
+
YzhlMGUyNGMxOThjZmQ2MmM2NDdkZjhhMTM5ZjQ1OTM0OWExYmYxZGVmYWEw
|
10
|
+
NmNiNzcxMjgyN2Q5YWM1YTczNDIyNTdjZjQwYWRmMDZlNDk1ZTNjMDJmYTU2
|
11
|
+
MjYyMGY4NmU3ODNiNGFjY2U2NTZjNjU5ZjE1OWM2MjA5YzQ3NzI=
|
12
12
|
data.tar.gz: !binary |-
|
13
|
-
|
14
|
-
|
15
|
-
|
13
|
+
M2RiZDMwMDBmYjZkZGMyOWIzNWY1YmIxMGQzYTY3MDI1ZTA5YzI4OWY1MzI5
|
14
|
+
ZjYxNzk0MzAzY2E4OTc3MzU1MTdiYTQwMGE2ZDE1ZTllOWFjYzE4YWE4M2Vh
|
15
|
+
NmM5NWU2NzUzNjY2ZWE2Mzc4OTQxNTY4Yzc2ODRhNGNlNTE1MjY=
|
data/lib/api_consumer.rb
CHANGED
@@ -1,18 +1,51 @@
|
|
1
1
|
class APIConsumer
|
2
2
|
require 'yaml'
|
3
|
-
require
|
4
|
-
require
|
5
|
-
require
|
3
|
+
require 'net/https'
|
4
|
+
require 'uri'
|
5
|
+
require 'json'
|
6
6
|
require 'uber_cache'
|
7
|
+
require 'logger'
|
7
8
|
|
8
9
|
class << self
|
9
10
|
@settings = {}
|
10
11
|
def inherited(subclass)
|
11
12
|
configs = YAML.load_file("config/#{snake_case(subclass)}.yml")
|
12
13
|
configs[snake_case(subclass)].each{ |k,v| subclass.set(k.to_sym, v) }
|
14
|
+
subclass.set_logger(Logger.new(settings[:log_file] || "./log/#{snake_case(subclass)}_api.log"), settings[:log_level])
|
13
15
|
super
|
14
16
|
end
|
15
17
|
|
18
|
+
def set_logger(logger, level=nil)
|
19
|
+
@logger = logger.nil? ? Logger.new(STDERR) : logger
|
20
|
+
set_log_level(level)
|
21
|
+
end
|
22
|
+
|
23
|
+
def log
|
24
|
+
@logger
|
25
|
+
end
|
26
|
+
|
27
|
+
def set_log_level(level=nil)
|
28
|
+
if level.nil?
|
29
|
+
level = if([nil, "development", "test"].include?(ENV['RACK_ENV']))
|
30
|
+
:info
|
31
|
+
else
|
32
|
+
:warn
|
33
|
+
end
|
34
|
+
end
|
35
|
+
@logger.level = case level.to_sym
|
36
|
+
when :debug
|
37
|
+
Logger::DEBUG
|
38
|
+
when :info
|
39
|
+
Logger::INFO
|
40
|
+
when :error
|
41
|
+
Logger::ERROR
|
42
|
+
when :fatal
|
43
|
+
Logger::FATAL
|
44
|
+
else #warn
|
45
|
+
Logger::WARN
|
46
|
+
end
|
47
|
+
end
|
48
|
+
|
16
49
|
def memcache?
|
17
50
|
settings[:use_memcache]
|
18
51
|
end
|
@@ -39,14 +72,12 @@ class APIConsumer
|
|
39
72
|
elsif( opts[:method] == :post)
|
40
73
|
Net::HTTP::Post.new(path)
|
41
74
|
else
|
42
|
-
|
75
|
+
log.error "BUG - method=>(#{opts[:method]})"
|
43
76
|
end
|
44
77
|
opts[:headers].each { |k,v| req[k] = v }
|
45
78
|
req.basic_auth settings[:api_user], settings[:api_password] if settings[:api_user] && settings[:api_password]
|
46
79
|
req["connection"] = 'keep-alive'
|
47
80
|
req.body = opts[:body] if opts[:body]
|
48
|
-
#puts( "REQUEST!!! #{opts[:headers]} #{path};\n#{@uri.host}:::#{@uri.port}")
|
49
|
-
#puts("BODY: #{req.body}")
|
50
81
|
|
51
82
|
response = nil
|
52
83
|
begin
|
@@ -59,12 +90,10 @@ class APIConsumer
|
|
59
90
|
return results
|
60
91
|
end
|
61
92
|
rescue Exception => exception
|
62
|
-
|
63
|
-
|
64
|
-
puts "================="
|
65
|
-
# Airbrake.notify(exception)
|
93
|
+
log.error exception.message
|
94
|
+
log.error exception.backtrace
|
66
95
|
if( settings[:type] == "json")
|
67
|
-
return error_code(response.code, opts[:errors])
|
96
|
+
return error_code(response ? response.code : "NO CODE" , opts[:errors])
|
68
97
|
end
|
69
98
|
end
|
70
99
|
return response.body
|
@@ -78,7 +107,7 @@ class APIConsumer
|
|
78
107
|
|
79
108
|
def create_connection(debug = false)
|
80
109
|
if @uri.nil? || @uri.port.nil?
|
81
|
-
|
110
|
+
log.info "CONNECTING TO: #{settings[:url]}"
|
82
111
|
@uri = URI.parse("#{settings[:url]}/")
|
83
112
|
end
|
84
113
|
http = Net::HTTP.new(@uri.host, @uri.port)
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: api_consumer
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.0.
|
4
|
+
version: 0.0.2
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Chris Reister
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2014-
|
11
|
+
date: 2014-06-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: uber_cache
|