Little Ruby trick that made my night:
module ApiError
HttpExceptions = [
RestClient::Exception,
SystemCallError,
SocketError,
EOFError,
Timeout::Error,
]
end
With this in place, you can do:
begin
RestClient.post("http://random/api")
rescue *ApiError::HttpExceptions => e
logger.error(e)
end
Just never realized that rescue really just takes multiple args.