bitgo-client 0.1.3 → 0.1.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: 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.