16
17
18
19
20
21
22
23
24
25
|
# File 'lib/flowdock.rb', line 16
def handle_response(resp)
json = MultiJson.decode(resp.body || '{}')
unless resp.code >= 200 && resp.code < 300
errors = json["errors"].map {|k,v| "#{k}: #{v.join(',')}"}.join("\n") unless json["errors"].nil?
raise ApiError, "Flowdock API returned error:\nStatus: #{resp.code}\n Message: #{json["message"]}\n Errors:\n#{errors}"
end
json
rescue MultiJson::DecodeError
raise ApiError, "Flowdock API returned error:\nStatus: #{resp.code}\nBody: #{resp.body}"
end
|