twilio / twilio-ruby

A Ruby gem for communicating with the Twilio API and generating TwiML

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Distinguish between internal errors and network errors.

hovissimo opened this issue · comments

Issue Summary

Distinguish between internal errors and network errors.

I want to retry calls to Twilio on network errors, but not on internal (actual) errors. The implementation isn't very consistent about what a TwilioError is, and when it should be raised.

https://github.com/search?q=repo%3Atwilio%2Ftwilio-ruby%20Twilio%3A%3AREST%3A%3ATwilioError&type=code
image

Can we please either NOT re-raise Faraday::Error and just let it bubble up, or re-raise these errors as a new Twilio::REST::NetworkError so that consumers can better distinguish between network errors and non-network errors?

Steps to Reproduce

N/A

Code Snippet

N/A

Exception/Log

Twilio::REST::TwilioError:  Failed to open TCP connection to conversations.twilio.com:443 (getaddrinfo: Temporary failure in name resolution)

Technical details:

  • twilio-ruby version: 6.8.0
  • ruby version: irrelevant