private BandwidthClient(TimeSpan timeout, string messagingBasicAuthUserName, string messagingBasicAuthPassword, string twoFactorAuthBasicAuthUserName, string twoFactorAuthBasicAuthPassword, string voiceBasicAuthUserName, string voiceBasicAuthPassword, string webRtcBasicAuthUserName, string webRtcBasicAuthPassword, Environment environment, string baseUrl, IDictionary <string, IAuthManager> authManagers, IHttpClient httpClient, IHttpClientConfiguration httpClientConfiguration) { messagingBasicAuthManager = new MessagingBasicAuthManager(messagingBasicAuthUserName, messagingBasicAuthPassword); twoFactorAuthBasicAuthManager = new TwoFactorAuthBasicAuthManager(twoFactorAuthBasicAuthUserName, twoFactorAuthBasicAuthPassword); voiceBasicAuthManager = new VoiceBasicAuthManager(voiceBasicAuthUserName, voiceBasicAuthPassword); webRtcBasicAuthManager = new WebRtcBasicAuthManager(webRtcBasicAuthUserName, webRtcBasicAuthPassword); Timeout = timeout; Environment = environment; BaseUrl = baseUrl; this.httpClient = httpClient; this.authManagers = new Dictionary <string, IAuthManager>(authManagers); HttpClientConfiguration = httpClientConfiguration; this.authManagers["messaging"] = messagingBasicAuthManager; this.authManagers["twoFactorAuth"] = twoFactorAuthBasicAuthManager; this.authManagers["voice"] = voiceBasicAuthManager; this.authManagers["webRtc"] = webRtcBasicAuthManager; messaging = new Lazy <MessagingClient>(() => new MessagingClient(this)); twoFactorAuth = new Lazy <TwoFactorAuthClient>(() => new TwoFactorAuthClient(this)); voice = new Lazy <VoiceClient>(() => new VoiceClient(this)); webRtc = new Lazy <WebRtcClient>(() => new WebRtcClient(this)); }
private BandwidthClient( Environment environment, string baseUrl, string messagingBasicAuthUserName, string messagingBasicAuthPassword, string multiFactorAuthBasicAuthUserName, string multiFactorAuthBasicAuthPassword, string phoneNumberLookupBasicAuthUserName, string phoneNumberLookupBasicAuthPassword, string voiceBasicAuthUserName, string voiceBasicAuthPassword, string webRtcBasicAuthUserName, string webRtcBasicAuthPassword, IDictionary <string, IAuthManager> authManagers, IHttpClient httpClient, HttpCallBack httpCallBack, IHttpClientConfiguration httpClientConfiguration) { this.Environment = environment; this.BaseUrl = baseUrl; this.httpCallBack = httpCallBack; this.httpClient = httpClient; this.authManagers = (authManagers == null) ? new Dictionary <string, IAuthManager>() : new Dictionary <string, IAuthManager>(authManagers); this.HttpClientConfiguration = httpClientConfiguration; if (this.authManagers.ContainsKey("messaging")) { this.messagingBasicAuthManager = (MessagingBasicAuthManager)this.authManagers["messaging"]; } if (!this.authManagers.ContainsKey("messaging") || !this.MessagingBasicAuthCredentials.Equals(messagingBasicAuthUserName, messagingBasicAuthPassword)) { this.messagingBasicAuthManager = new MessagingBasicAuthManager(messagingBasicAuthUserName, messagingBasicAuthPassword); this.authManagers["messaging"] = this.messagingBasicAuthManager; } if (this.authManagers.ContainsKey("multiFactorAuth")) { this.multiFactorAuthBasicAuthManager = (MultiFactorAuthBasicAuthManager)this.authManagers["multiFactorAuth"]; } if (!this.authManagers.ContainsKey("multiFactorAuth") || !this.MultiFactorAuthBasicAuthCredentials.Equals(multiFactorAuthBasicAuthUserName, multiFactorAuthBasicAuthPassword)) { this.multiFactorAuthBasicAuthManager = new MultiFactorAuthBasicAuthManager(multiFactorAuthBasicAuthUserName, multiFactorAuthBasicAuthPassword); this.authManagers["multiFactorAuth"] = this.multiFactorAuthBasicAuthManager; } if (this.authManagers.ContainsKey("phoneNumberLookup")) { this.phoneNumberLookupBasicAuthManager = (PhoneNumberLookupBasicAuthManager)this.authManagers["phoneNumberLookup"]; } if (!this.authManagers.ContainsKey("phoneNumberLookup") || !this.PhoneNumberLookupBasicAuthCredentials.Equals(phoneNumberLookupBasicAuthUserName, phoneNumberLookupBasicAuthPassword)) { this.phoneNumberLookupBasicAuthManager = new PhoneNumberLookupBasicAuthManager(phoneNumberLookupBasicAuthUserName, phoneNumberLookupBasicAuthPassword); this.authManagers["phoneNumberLookup"] = this.phoneNumberLookupBasicAuthManager; } if (this.authManagers.ContainsKey("voice")) { this.voiceBasicAuthManager = (VoiceBasicAuthManager)this.authManagers["voice"]; } if (!this.authManagers.ContainsKey("voice") || !this.VoiceBasicAuthCredentials.Equals(voiceBasicAuthUserName, voiceBasicAuthPassword)) { this.voiceBasicAuthManager = new VoiceBasicAuthManager(voiceBasicAuthUserName, voiceBasicAuthPassword); this.authManagers["voice"] = this.voiceBasicAuthManager; } if (this.authManagers.ContainsKey("webRtc")) { this.webRtcBasicAuthManager = (WebRtcBasicAuthManager)this.authManagers["webRtc"]; } if (!this.authManagers.ContainsKey("webRtc") || !this.WebRtcBasicAuthCredentials.Equals(webRtcBasicAuthUserName, webRtcBasicAuthPassword)) { this.webRtcBasicAuthManager = new WebRtcBasicAuthManager(webRtcBasicAuthUserName, webRtcBasicAuthPassword); this.authManagers["webRtc"] = this.webRtcBasicAuthManager; } this.messaging = new Lazy <MessagingClient>(() => new MessagingClient(this)); this.multiFactorAuth = new Lazy <MultiFactorAuthClient>(() => new MultiFactorAuthClient(this)); this.phoneNumberLookup = new Lazy <PhoneNumberLookupClient>(() => new PhoneNumberLookupClient(this)); this.voice = new Lazy <VoiceClient>(() => new VoiceClient(this)); this.webRtc = new Lazy <WebRtcClient>(() => new WebRtcClient(this)); }