nxt_http_client 0.2.3 → 0.2.4
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 +2 -2
- data/lib/nxt_http_client/error.rb +57 -0
- data/lib/nxt_http_client/version.rb +1 -1
- data/lib/nxt_http_client.rb +1 -0
- metadata +3 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: e7ca4bb27e1b1bc88c3399927d0ff18b5abcc1e14fe8aee9b7f0168a0e0d451e
|
|
4
|
+
data.tar.gz: 3950a97f0ba40a17a90504894cf8901320900d9c5692963b4565f8c8e404304e
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: e96b9225a7514b7c1b22225f6209e99222f3e16698b134c41cde07c62fa1bfd6c83fea0c20cd4499f842ab607bf9985d3682e51618016ff90bc6c99e2c332ccc
|
|
7
|
+
data.tar.gz: 9b266ecd968053cd6185e3215b749b11c640580d69b9bdaf91d1c7986b482fe3fe65725f75f9c3304d017174bb31600dcfd5005275c15e7fc3f212e271d5366f
|
data/Gemfile.lock
CHANGED
data/README.md
CHANGED
|
@@ -47,14 +47,14 @@ class MyClient < NxtHttpClient
|
|
|
47
47
|
end
|
|
48
48
|
end
|
|
49
49
|
|
|
50
|
-
before_fire do |request, handler|
|
|
50
|
+
before_fire do |client, request, handler|
|
|
51
51
|
# Will be called before fire
|
|
52
52
|
handler.on!(200) do |response|
|
|
53
53
|
# reconfigure your handler before fire
|
|
54
54
|
end
|
|
55
55
|
end
|
|
56
56
|
|
|
57
|
-
after_fire do |request, response, result, error|
|
|
57
|
+
after_fire do |client, request, response, result, error|
|
|
58
58
|
# Will be called after fire. You probably want to return the result here in order for your code
|
|
59
59
|
# to be able to access the result from the response handler from before.
|
|
60
60
|
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
module NxtHttpClient
|
|
2
|
+
class Error < StandardError
|
|
3
|
+
def initialize(response)
|
|
4
|
+
@response = response.blank? ? Typhoeus::Response.new : response
|
|
5
|
+
end
|
|
6
|
+
|
|
7
|
+
attr_reader :response
|
|
8
|
+
|
|
9
|
+
def body
|
|
10
|
+
if response_content_type == 'application/json'
|
|
11
|
+
JSON.parse(response.body)
|
|
12
|
+
else
|
|
13
|
+
response.body
|
|
14
|
+
end
|
|
15
|
+
rescue ::JSON::JSONError
|
|
16
|
+
response.body
|
|
17
|
+
end
|
|
18
|
+
|
|
19
|
+
def to_s
|
|
20
|
+
"NxtHttpClient::Error::#{status_code}"
|
|
21
|
+
end
|
|
22
|
+
|
|
23
|
+
def status_code
|
|
24
|
+
response.code || 0
|
|
25
|
+
end
|
|
26
|
+
|
|
27
|
+
def request
|
|
28
|
+
@request ||= response.request || Typhoeus::Request.new('/dev/null', {})
|
|
29
|
+
end
|
|
30
|
+
|
|
31
|
+
def url
|
|
32
|
+
request.url
|
|
33
|
+
end
|
|
34
|
+
|
|
35
|
+
def request_options
|
|
36
|
+
@request_options ||= (request.original_options || {}).with_indifferent_access
|
|
37
|
+
end
|
|
38
|
+
|
|
39
|
+
def request_headers
|
|
40
|
+
@request_headers ||= (request.original_options[:headers] || {}).with_indifferent_access
|
|
41
|
+
end
|
|
42
|
+
|
|
43
|
+
def response_options
|
|
44
|
+
@response_options ||= (response.options || {}).with_indifferent_access
|
|
45
|
+
end
|
|
46
|
+
|
|
47
|
+
def response_headers
|
|
48
|
+
@response_headers ||= (response.headers || {}).with_indifferent_access
|
|
49
|
+
end
|
|
50
|
+
|
|
51
|
+
def response_content_type
|
|
52
|
+
response_headers['Content-Type']
|
|
53
|
+
end
|
|
54
|
+
end
|
|
55
|
+
end
|
|
56
|
+
|
|
57
|
+
|
data/lib/nxt_http_client.rb
CHANGED
metadata
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
|
2
2
|
name: nxt_http_client
|
|
3
3
|
version: !ruby/object:Gem::Version
|
|
4
|
-
version: 0.2.
|
|
4
|
+
version: 0.2.4
|
|
5
5
|
platform: ruby
|
|
6
6
|
authors:
|
|
7
7
|
- Andreas Robecke
|
|
@@ -11,7 +11,7 @@ authors:
|
|
|
11
11
|
autorequire:
|
|
12
12
|
bindir: exe
|
|
13
13
|
cert_chain: []
|
|
14
|
-
date: 2019-08-
|
|
14
|
+
date: 2019-08-04 00:00:00.000000000 Z
|
|
15
15
|
dependencies:
|
|
16
16
|
- !ruby/object:Gem::Dependency
|
|
17
17
|
name: typhoeus
|
|
@@ -174,6 +174,7 @@ files:
|
|
|
174
174
|
- lib/nxt_http_client/client.rb
|
|
175
175
|
- lib/nxt_http_client/client_dsl.rb
|
|
176
176
|
- lib/nxt_http_client/default_config.rb
|
|
177
|
+
- lib/nxt_http_client/error.rb
|
|
177
178
|
- lib/nxt_http_client/response_handler.rb
|
|
178
179
|
- lib/nxt_http_client/version.rb
|
|
179
180
|
- nxt_http_client.gemspec
|