my_target_api 2.0.6 → 2.0.7
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 +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
|