protected override async Task <TSettings> Load() { var content = await HttpClientProvider.Client.GetStringAsync(_settingsUrl); var processingResult = await SettingsProcessor.ProcessForConfigurationAsync <TSettings>(content); var settings = processingResult.Item1; SetSettingsConfigurationRoot(processingResult.Item2); if (!_throwExceptionOnCheckError) { Task.Run(() => SettingsProcessor.CheckDependenciesAsync(settings, _slackNotificationOptions)); } else { var errorMessages = await SettingsProcessor.CheckDependenciesAsync(settings, _slackNotificationOptions); if (!string.IsNullOrEmpty(errorMessages)) { throw new Exception($"Services check failed:{Environment.NewLine}{errorMessages} "); } } _configure?.Invoke(settings); return(settings); }
protected override async Task <TSettings> Load() { using (var reader = File.OpenText(_path)) { var content = await reader.ReadToEndAsync(); var processingResult = await SettingsProcessor.ProcessForConfigurationAsync <TSettings>(content); SetSettingsConfigurationRoot(processingResult.Item2); if (!_throwExceptionOnCheckError) { Task.Run(() => SettingsProcessor.CheckDependenciesAsync(processingResult.Item1, _slackNotificationOptions)); } else { var errorMessages = await SettingsProcessor.CheckDependenciesAsync(processingResult.Item1, _slackNotificationOptions); if (!string.IsNullOrEmpty(errorMessages)) { throw new Exception($"Services check failed:{Environment.NewLine}{errorMessages} "); } } return(processingResult.Item1); } }
public static T ReadGeneralSettings <T>(Uri url) { var httpClient = new HttpClient { BaseAddress = url }; var settingsData = httpClient.GetStringAsync("").Result; return(SettingsProcessor.Process <T>(settingsData)); }
public static T ReadGeneralSettings <T>(string path) { var content = File.ReadAllText(path); return(SettingsProcessor.Process <T>(content)); }