esi 0.2.10 → 0.2.11

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
  SHA1:
3
- metadata.gz: 386ffbb606243024b14658bd8b7ef1d605cb61db
4
- data.tar.gz: 832aab88bbbaff3ba94c5155fdcef87b07d51b72
3
+ metadata.gz: c4798ff92d7ae79a1a504d208e400145c818775f
4
+ data.tar.gz: be84a2bc9053863e7badc3b32f4171960a165883
5
5
  SHA512:
6
- metadata.gz: e03e796d408f339b375b9b65bb87cafe512baeb64269328ded8b764ee8d8a5c2ef8d94df9d0a11992cda3dc3ee7f9f30aee104084a328a930b86478acaf3de60
7
- data.tar.gz: c7ca203af84e969fb38ad8c1d16e155b81dde6bd025f16db63426961b49f70fbdf5d58f4b590155b3c0fc109a4f3cc9ec95d6aa4a4adfb82ff61afed28fd0419
6
+ metadata.gz: 507a2e5d2781c4812607103fb131ae4fc1fbc46a85e0aaaedc23ed17c75eb42057aa0010adcac995d8f4052db19943959fe721dee11ad780976b79994c1f9678
7
+ data.tar.gz: 6283815e338b287d5b7d4cc883a7010f89eefb8a79e5c8d54e3739e06700b4941b2b48b57ab7c3b7136262a379dea49755682d6bc56ddedc938c67461fd03c94
data/lib/esi.rb CHANGED
@@ -106,15 +106,16 @@ module Esi
106
106
  end
107
107
 
108
108
  class ApiError < OAuth2::Error
109
- attr_reader :key, :message, :type, :original_exception
109
+ attr_reader :response, :key, :message, :type, :original_exception
110
110
 
111
111
  def initialize(response, original_exception=nil)
112
112
  super(response.original_response)
113
113
 
114
+ @response = response
114
115
  @original_exception = original_exception
115
116
  @code = response.original_response.status
116
117
  @key = response.data[:key]
117
- @message = response.data[:message].presence || response.data[:error]
118
+ @message = response.data[:message].presence || response.data[:error] || original_exception.message
118
119
  @type = response.data[:exceptionType]
119
120
  end
120
121
  end
@@ -129,6 +130,7 @@ module Esi
129
130
  end
130
131
 
131
132
  class ApiUnknownError < ApiError; end
133
+ class ApiBadRequestError < ApiError; end
132
134
  class ApiInvalidAppClientKeysError < ApiError; end
133
135
  class ApiNotFoundError < ApiError; end
134
136
  class ApiForbiddenError < ApiError; end
@@ -115,13 +115,17 @@ module Esi
115
115
  raise Esi::ApiForbiddenError.new(Response.new(e.response, call))
116
116
  when 404 # Not Found
117
117
  raise Esi::ApiNotFoundError.new(Response.new(e.response, call))
118
+ when 400 # Bad Request
119
+ response = Response.new(e.response, call)
120
+ log_error('ApiBadRequestError', url, response)
121
+ raise Esi::ApiBadRequestError.new(response)
118
122
  else
119
123
  response = Response.new(e.response, call)
120
- logger.error "ApiUnknownError (#{response.status}): #{url}"
124
+ log_error('ApiUnknownError', url, response)
121
125
 
122
126
  case response.error
123
127
  when 'invalid_client'
124
- raise ApiInvalidAppClientKeysError.new(response)
128
+ raise Esi::ApiInvalidAppClientKeysError.new(response)
125
129
  else
126
130
  raise Esi::ApiUnknownError.new(response)
127
131
  end
@@ -134,7 +138,7 @@ module Esi
134
138
 
135
139
  if last_ex
136
140
  logger.error "Request failed with #{last_ex.class}"
137
- raise ApiRequestError.new(last_ex)
141
+ raise Esi::ApiRequestError.new(last_ex)
138
142
  end
139
143
 
140
144
  debug "Request successful"
@@ -148,5 +152,11 @@ module Esi
148
152
  end
149
153
  response
150
154
  end
155
+
156
+ def log_error(klass, url, response)
157
+ logger.error "#{klass}(#{response.status}) @ #{url}"
158
+ logger.error "ERROR: #{response.body.inspect}"
159
+ logger.error "BODY: #{response.error.inspect}"
160
+ end
151
161
  end
152
162
  end
@@ -1,3 +1,3 @@
1
1
  module Esi
2
- VERSION = "0.2.10"
2
+ VERSION = "0.2.11"
3
3
  end
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: esi
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.2.10
4
+ version: 0.2.11
5
5
  platform: ruby
6
6
  authors:
7
7
  - Danny Hiemstra