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 CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: 1388541ad2849565c2ccffc0d8848859c3639e001cadc6398b3390673fa7eeba
4
- data.tar.gz: 15e22dc002c5afef094d3b529a7d98b551ad99394312fff373b5c994e958d6ab
3
+ metadata.gz: e7ca4bb27e1b1bc88c3399927d0ff18b5abcc1e14fe8aee9b7f0168a0e0d451e
4
+ data.tar.gz: 3950a97f0ba40a17a90504894cf8901320900d9c5692963b4565f8c8e404304e
5
5
  SHA512:
6
- metadata.gz: 41ba5224d1901b0f7ab52e7306efac4566bd2ae8c3205a66f1712e07200172f640b43f38c4f87e52e65d08a59dc63bf40073b734ca167f1202821e171d2e29d1
7
- data.tar.gz: 60f74a74e6ed0afa02e4b6a0f46abe1eaea07c7f58635502c3c5285651235e2a1cf8a5895c5d502c883ce032a81cc6102ff5740e31dbff8e004578080b8c695c
6
+ metadata.gz: e96b9225a7514b7c1b22225f6209e99222f3e16698b134c41cde07c62fa1bfd6c83fea0c20cd4499f842ab607bf9985d3682e51618016ff90bc6c99e2c332ccc
7
+ data.tar.gz: 9b266ecd968053cd6185e3215b749b11c640580d69b9bdaf91d1c7986b482fe3fe65725f75f9c3304d017174bb31600dcfd5005275c15e7fc3f212e271d5366f
data/Gemfile.lock CHANGED
@@ -1,7 +1,7 @@
1
1
  PATH
2
2
  remote: .
3
3
  specs:
4
- nxt_http_client (0.2.3)
4
+ nxt_http_client (0.2.4)
5
5
  activesupport (~> 5.2)
6
6
  typhoeus
7
7
 
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
+
@@ -1,3 +1,3 @@
1
1
  module NxtHttpClient
2
- VERSION = "0.2.3"
2
+ VERSION = "0.2.4"
3
3
  end
@@ -6,6 +6,7 @@ require 'nxt_http_client/response_handler'
6
6
  require 'nxt_http_client/default_config'
7
7
  require 'nxt_http_client/client_dsl'
8
8
  require 'nxt_http_client/client'
9
+ require 'nxt_http_client/error'
9
10
 
10
11
  module NxtHttpClient
11
12
  class Error < StandardError; end
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.3
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-03 00:00:00.000000000 Z
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