4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
|
# File 'lib/callcredit/middleware/check_response.rb', line 4
def call(env)
@app.call(env).on_complete do |completed_env|
results = completed_env[:body]["Results"]
unless results
raise InvalidResponseError.new(
"Invalid response", completed_env[:status], completed_env)
end
if results["Errors"]
errors = results["Errors"].values.flatten
messages = errors.map { |e| e.is_a?(Hash) ? e["__content__"] : e }
raise APIError.new(messages.join(" | "), completed_env[:status],
completed_env)
end
response_values(completed_env)
end
end
|