esi 0.2.10 → 0.2.11
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 +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