my_target_api 2.0.6 → 2.0.7
Sign up to get free protection for your applications and to get access to all the features.
- checksums.yaml +4 -4
- data/Gemfile.lock +1 -1
- data/README.md +1 -1
- data/lib/my_target_api/request.rb +13 -10
- data/lib/my_target_api/request_error.rb +5 -7
- data/lib/my_target_api/version.rb +1 -1
- data/spec/request_spec.rb +2 -6
- metadata +2 -2
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: f8a2de4571899340aa8c1e6e6c099c0a6b75e7e6
|
4
|
+
data.tar.gz: f1453fac44237e86a82ff18f54d9bc1a1ca4f706
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 43618ed32e7313aa0c300391d619e448ed56102429766559f91ed0a4056587b35147fc773d4a293854a521c9f61d2fd9a0b9fbef7f41affff3b3e8b0075aa398
|
7
|
+
data.tar.gz: 9be00939ad2371270df68d053ac5d586a2dab12a09f4e1043e6c24377a4c1562bed461e1daabdfa4b4f3802e12a12f0fa0a4bc9439ff002d19c391585844bb56
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
@@ -99,7 +99,7 @@ def read_active_campaigns
|
|
99
99
|
|
100
100
|
rescue MyTargetApi::RequestError => e
|
101
101
|
|
102
|
-
puts e.message, e.params, e.response, e.backtrace
|
102
|
+
puts e.message, e.method, e.url, e.params, e.response, e.backtrace
|
103
103
|
# You can access the original exception
|
104
104
|
puts e.original_exception&.message, e.original_exception&.backtrace
|
105
105
|
|
@@ -14,7 +14,7 @@ class MyTargetApi
|
|
14
14
|
end
|
15
15
|
|
16
16
|
def get(url, params = {}, headers = {})
|
17
|
-
response = with_exception_handling(params) do
|
17
|
+
response = with_exception_handling('GET', url, params) do
|
18
18
|
NetClient.get(url, headers.merge(query(params)))
|
19
19
|
end
|
20
20
|
|
@@ -22,7 +22,7 @@ class MyTargetApi
|
|
22
22
|
end
|
23
23
|
|
24
24
|
def post(url, params = {}, headers = {})
|
25
|
-
response = with_exception_handling(params) do
|
25
|
+
response = with_exception_handling('POST', url, params) do
|
26
26
|
NetClient.post(url, params, headers)
|
27
27
|
end
|
28
28
|
|
@@ -30,7 +30,7 @@ class MyTargetApi
|
|
30
30
|
end
|
31
31
|
|
32
32
|
def delete(url, params = {}, headers = {})
|
33
|
-
response = with_exception_handling(params) do
|
33
|
+
response = with_exception_handling('DELETE', url, params) do
|
34
34
|
NetClient.delete(url, headers.merge(query(params)))
|
35
35
|
end
|
36
36
|
|
@@ -38,7 +38,7 @@ class MyTargetApi
|
|
38
38
|
end
|
39
39
|
|
40
40
|
def upload(url, content, params = {}, headers = {})
|
41
|
-
response = with_exception_handling(params) do
|
41
|
+
response = with_exception_handling('POST', 'url', params) do
|
42
42
|
NetClient.post(
|
43
43
|
url,
|
44
44
|
content,
|
@@ -65,24 +65,27 @@ class MyTargetApi
|
|
65
65
|
response.body
|
66
66
|
end
|
67
67
|
|
68
|
-
def with_exception_handling(params)
|
68
|
+
def with_exception_handling(method, url, params)
|
69
69
|
response = yield
|
70
70
|
log_response(response)
|
71
|
-
|
71
|
+
if response.code >= 400
|
72
|
+
raise_with_params(method: method, url: url, params: params, response: response)
|
73
|
+
end
|
72
74
|
response
|
73
75
|
rescue NetClient::Exception => e
|
74
76
|
original_exception = e.original_exception
|
75
77
|
logger << "#{original_exception.class.name} #{original_exception.message}"
|
76
|
-
raise_with_params(
|
78
|
+
raise_with_params(method: method, url: url, params: params,
|
79
|
+
original_exception: original_exception)
|
77
80
|
end
|
78
81
|
|
79
82
|
def log_response(response)
|
80
83
|
logger << ResponseFormatter.new(response).format
|
81
84
|
end
|
82
85
|
|
83
|
-
def raise_with_params(params:, response: nil, original_exception: nil)
|
84
|
-
result = MyTargetApi::RequestError.new(
|
85
|
-
response: response,
|
86
|
+
def raise_with_params(method:, url:, params:, response: nil, original_exception: nil)
|
87
|
+
result = MyTargetApi::RequestError.new(method: method, url: url,
|
88
|
+
params: params, response: response,
|
86
89
|
original_exception: original_exception)
|
87
90
|
result.set_backtrace(caller)
|
88
91
|
raise result
|
@@ -4,18 +4,16 @@ class MyTargetApi
|
|
4
4
|
# Error for request
|
5
5
|
class RequestError < StandardError
|
6
6
|
|
7
|
-
attr_reader :params, :original_exception, :response
|
7
|
+
attr_reader :method, :url, :params, :original_exception, :response
|
8
8
|
|
9
|
-
def initialize(params:, original_exception: nil, response: nil)
|
9
|
+
def initialize(method:, url:, params:, original_exception: nil, response: nil)
|
10
|
+
@method = method
|
11
|
+
@url = url
|
10
12
|
@params = params
|
11
13
|
@response = response
|
12
14
|
@original_exception = original_exception
|
13
15
|
|
14
|
-
|
15
|
-
"#{(response ? "#{response.code}: #{response.body}. " : '')}"\
|
16
|
-
'Inspect #params, #response and #original_exception for more details'
|
17
|
-
|
18
|
-
super(message)
|
16
|
+
super(response ? "#{response.code}: #{response.body}" : 'No response')
|
19
17
|
end
|
20
18
|
|
21
19
|
end
|
data/spec/request_spec.rb
CHANGED
@@ -84,9 +84,7 @@ describe MyTargetApi::Request do
|
|
84
84
|
.to_return(body: 'Unknown resource', status: 404)
|
85
85
|
|
86
86
|
expect { subject.get('https://target.my.com/api/v1/wrong_path.json') }
|
87
|
-
.to raise_error(MyTargetApi::RequestError,
|
88
|
-
'404: Unknown resource. Inspect #params, #response and #original_exception'\
|
89
|
-
' for more details')
|
87
|
+
.to raise_error(MyTargetApi::RequestError, '404: Unknown resource')
|
90
88
|
end
|
91
89
|
|
92
90
|
it 'sets authorization header' do
|
@@ -163,9 +161,7 @@ describe MyTargetApi::Request do
|
|
163
161
|
)
|
164
162
|
|
165
163
|
expect { request.get('https://target.my.com/api/v1/request.json') }
|
166
|
-
.to raise_error(MyTargetApi::RequestError,
|
167
|
-
'404: Unknown resource. Inspect #params, #response and #original_exception'\
|
168
|
-
' for more details')
|
164
|
+
.to raise_error(MyTargetApi::RequestError, '404: Unknown resource')
|
169
165
|
|
170
166
|
expect(logger).to(have_received(:<<).with(<<~LOG))
|
171
167
|
GET https://target.my.com/api/v1/request.json
|
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: my_target_api
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 2.0.
|
4
|
+
version: 2.0.7
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- OneRetarget.com
|
8
8
|
autorequire:
|
9
9
|
bindir: bin
|
10
10
|
cert_chain: []
|
11
|
-
date: 2020-
|
11
|
+
date: 2020-10-01 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: json
|