Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: Validate AccountSid on Init #533

Closed
wants to merge 1 commit into from
Closed

feat: Validate AccountSid on Init #533

wants to merge 1 commit into from

Conversation

hultqvist
Copy link

@hultqvist hultqvist commented Aug 11, 2020

  • Throws exception if a API call tries to use AccountSid when it's not set.

Fixes #531

For API:s that require AccountSid this PR will make sure that AccountSid is set.
Before "username" was assumed to be AccountSid which caused 404 errors for API calls that expected AccountSid to be set.

Checklist

  • I acknowledge that all my contributions will be made under the project's license
  • I have made a material change to the repo (functionality, testing, spelling, grammar)
  • I have read the Contribution Guidelines and my PR follows them
  • I have titled the PR appropriately
  • I have updated my branch with the main branch
  • I have added tests that prove my fix is effective or that my feature works
  • I have added necessary documentation about the functionality in the appropriate .md file
  • I have added inline documentation to the code I modified

 - Throws exception if a API call tries to use AccountSid when it's not set.
@@ -28,7 +28,7 @@ public class TwilioRestClient : ITwilioRestClient
/// <summary>
/// Account SID to use for requests
/// </summary>
public string AccountSid { get; }
public string AccountSid => _accountSid ?? throw new ArgumentException("AccountSID not set in " + nameof(TwilioClient) + "." + nameof(TwilioClient.Init));
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's a bit odd having the getter throw an exception, but I can't think of a better solution that doesn't touch hundreds of files.

AccountSid = accountSid ?? username;
_accountSid = accountSid;
//Validate prefix in accountSid, https://www.twilio.com/docs/glossary/what-is-a-sid#common-sid-prefixes
if (_accountSid?.StartsWith("AC", StringComparison.Ordinal) == false)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Logic looks sound to me, but some tests would ease my mind more.

Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Thanks, I will see what I can do about adding tests.

@childish-sambino
Copy link
Contributor

Closing due to inactivity. Please ping here if work is to continue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Clarify use of API keys
2 participants