public OrchestratorClient(ITokenService tokenService, IOptionsMonitor <OrchestratorSettings> orchestratorSettingsAccessor) { var orchestratorSettings = orchestratorSettingsAccessor.CheckNullReference().CurrentValue; if (!orchestratorSettings.Validate()) { throw new ArgumentException("Orchestrator setting invalid"); } if (orchestratorSettings.AuthMode.OrdinalEquals("Basic")) { _client = new HttpClient(new BasicAuthHeadHandler(tokenService.CheckNullReference())); } else { _client = new HttpClient(new CloudAuthHeadHandler(tokenService.CheckNullReference(), orchestratorSettings.ServiceInstanceLogicalName)); } _baseUrl = orchestratorSettings.CheckNullReference().BaseUrl; _statusCheckInterval = orchestratorSettings.StatusCheckInterval; _statusMaxRetry = orchestratorSettings.StatusCheckMaxRetry; }