13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
|
# File 'lib/yapper/error.rb', line 13
def self.determine_exception(exception)
exception = exception
message = exception.message
status = exception.response[:status]
= exception.response[:headers]
case status.to_i
when 400
Yapper::BadRequest.new(error_message(message), )
when 401
Yapper::Unauthorized.new(error_message(message), )
when 403
Yapper::Forbidden.new(error_message(message), )
when 404
Yapper::NotFound.new(error_message(message), )
when 429
Yapper::TooManyRequests.new(error_message(message), )
when 406
Yapper::NotAcceptable.new(error_message(message), )
when 500
Yapper::InternalServerError.new(error_message("Something is technically wrong."), )
when 502
Yapper::BadGateway.new(error_message("Yammer is down or being upgraded."), )
when 503
Yapper::ServiceUnavailable.new(error_message("(__-){ Yammer is over capacity."), )
else
Exception.new("Unhandled Exception Status: #{status} - #{message}")
end
end
|