public TwilioApi() { var accountSid = Environment.GetEnvironmentVariable(ACCOUNTSID); var authToken = Environment.GetEnvironmentVariable(AUTHTOKEN); var phoneNumber = Environment.GetEnvironmentVariable(PHONENUMBER); if (string.IsNullOrWhiteSpace(accountSid) || string.IsNullOrWhiteSpace(phoneNumber) || string.IsNullOrWhiteSpace(authToken)) { throw new Exception("Environment variables not set"); } var twilioAuthentication = new TwilioAuthorization(accountSid, authToken); var messagingClient = new HttpClient { BaseAddress = new Uri(MESSAGINGURL), DefaultRequestHeaders = { Authorization = twilioAuthentication.AuthorizationHeader } }; MessagingApi = RestService.For <ITwilioMessagingApi>(messagingClient); var lookupsClient = new HttpClient { BaseAddress = new Uri(LOOKUPSURL), DefaultRequestHeaders = { Authorization = twilioAuthentication.AuthorizationHeader } }; LookupsApi = RestService.For <ITwilioLookupsApi>(lookupsClient); AccountSid = accountSid; SmsNumber = phoneNumber; }
public TwilioApi(ITwilioLookupsApi lookupsApi, ITwilioMessagingApi messagingApi, string accountSid, string smsNumber) { LookupsApi = lookupsApi ?? throw new ArgumentNullException(nameof(lookupsApi)); MessagingApi = messagingApi ?? throw new ArgumentNullException(nameof(messagingApi)); AccountSid = accountSid ?? throw new ArgumentNullException(nameof(accountSid)); SmsNumber = smsNumber ?? throw new ArgumentNullException(nameof(smsNumber)); }