I'm not sure about this one. Server errors and timeout errors should be handled by Faraday::Error. Rescuing all would also prevent throwing errors in the case of a broken client, which would just hide issues. I don't think it serves the developer's best interest to mask issues with clients themselves. That would be like controller endpoints having default values if they 500'd. It would cause a lot of design problems.