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 +4 -4
- data/lib/esi.rb +4 -2
- data/lib/esi/client.rb +13 -3
- data/lib/esi/version.rb +1 -1
- metadata +1 -1
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA1:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: c4798ff92d7ae79a1a504d208e400145c818775f
|
4
|
+
data.tar.gz: be84a2bc9053863e7badc3b32f4171960a165883
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
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
|
data/lib/esi/client.rb
CHANGED
@@ -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
|
-
|
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
|
data/lib/esi/version.rb
CHANGED