nxt_http_client 0.2.3 → 0.2.4

Sign up to get free protection for your applications and to get access to all the features.
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