bitgo-client 0.1.3 → 0.1.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: 26b4155132cf88a8fd20ed9c3f4b907d27cb8d2d0cc8f1a1640a847b37b79b72
4
- data.tar.gz: f60d6a1741225da3d298812127a57f3c5a4e9a715d072f19f5a79393365b0e9d
3
+ metadata.gz: 86bb3af0859dd5e5d40f5a26d309308428917a54f01302614bf43e281061d358
4
+ data.tar.gz: 0db9dade5fb21736a426faf4d4c5c98a854420fea8000b253df907acebfc22e9
5
5
  SHA512:
6
- metadata.gz: 95e9c1a74e85167c195a19c86d0d4a154f8dfbfb0b82930c67d52d6c9fba9bf60470f1e4c01cf2abc576fd647923de4b07e364e7a904dadcae7871182cfa6302
7
- data.tar.gz: 6721b974af637a63b9b9d97dfdc8fd9609a741392600078fa954dddab61d901bf16f07b95d3b352e921020f8cb08f5627b7bf2b404ec283b269e4ca08573619b
6
+ metadata.gz: 17068523dc677b209440ac524438764f49b31f2e7e60b3e81a1b6670c6d59206fc5b21d569ac5d2aa760804835adaa1c48f7cf6ce9ea2728a5f32c064c6c48af
7
+ data.tar.gz: f7f532b3c77c7c6a4b4383cb6f8783fa28f608dc1dc2cac67e5d20cd45c2c36c2e18665fafd966b4378a49588262f1d3d479e3a4668e278f1340e9cb2ade42c2
@@ -52,15 +52,17 @@ module BitgoClient
52
52
 
53
53
  log logger, "Response code: '#{code}', body: '#{body}'"
54
54
 
55
- if response.failure?
56
- raise BitgoClient::Errors::RequestError.new("BitGo API response error (code: #{code}).", response)
57
- end
58
-
59
- if [408, 524].include?(code)
60
- raise BitgoClient::Errors::RequestError.new("BitGo API Timeout error (code: #{code}).", response)
55
+ if [408, 504, 524].include?(code)
56
+ raise BitgoClient::Errors::RequestError.new("[BitGo API Error] Timeout (code: #{code}).", response)
57
+ elsif response.failure?
58
+ raise BitgoClient::Errors::RequestError.new("[BitGo API Error] code: #{code}.", response)
59
+ elsif body.nil? || body == ""
60
+ {}
61
+ elsif valid_json?(body)
62
+ JSON.parse(body)
63
+ else
64
+ raise BitgoClient::Errors::RequestError.new("[BitGo API Error] Invalid JSON (code: #{code}).", response)
61
65
  end
62
-
63
- JSON.parse(body)
64
66
  end
65
67
 
66
68
  private
@@ -81,5 +83,12 @@ module BitgoClient
81
83
  logger.debug(tag) { message }
82
84
  end
83
85
  end
86
+
87
+ def valid_json?(json)
88
+ JSON.parse(json)
89
+ return true
90
+ rescue JSON::ParserError => e
91
+ return false
92
+ end
84
93
  end
85
94
  end
@@ -1,5 +1,5 @@
1
1
  # frozen_string_literal: true
2
2
 
3
3
  module BitgoClient
4
- VERSION = "0.1.3"
4
+ VERSION = "0.1.4"
5
5
  end
metadata CHANGED
@@ -1,14 +1,14 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: bitgo-client
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.3
4
+ version: 0.1.4
5
5
  platform: ruby
6
6
  authors:
7
7
  - Bruno Soares
8
8
  autorequire:
9
9
  bindir: bin
10
10
  cert_chain: []
11
- date: 2019-04-11 00:00:00.000000000 Z
11
+ date: 2019-04-12 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: addressable
@@ -196,7 +196,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
196
196
  version: '0'
197
197
  requirements: []
198
198
  rubyforge_project:
199
- rubygems_version: 2.7.6.2
199
+ rubygems_version: 2.7.7
200
200
  signing_key:
201
201
  specification_version: 4
202
202
  summary: BitGo's API Client.