Skip to content

Distinguish between internal errors and network errors. #689

@hovissimo

Description

@hovissimo

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

Metadata

Metadata

Assignees

Labels

TwiDi-InProgressIssue is being actively worked on by TwiDIpriority: mediumImportant but not urgent; Workaround availabletype: twilio enhancementfeature request on Twilio's roadmap

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions