public async Task <ApiMockerConfig> GetConfig(string fileName) { if (_config == null) { var fullFilePath = _fileSettingsProvider.GetFullFilePath(fileName, ConfigsFolder); if (!_fileSettingsProvider.FileExists(fullFilePath)) { _logger.LogError($"File not found {fullFilePath} /n ApiMockerDotNet cannot start without a valid config file"); _logger.LogError($"Please add a config file in the {ConfigsFolder} folder"); //config not found, exit the method and try again return(_config); } var fileContent = await _fileSettingsProvider.GetFileContent(fullFilePath); JsonSerializerSettings serializerSettings = new JsonSerializerSettings { MissingMemberHandling = MissingMemberHandling.Error, ContractResolver = new CamelCasePropertyNamesContractResolver() }; try { var deserializedConfig = JsonConvert.DeserializeObject <ApiMockerConfig>(fileContent, serializerSettings); _config = deserializedConfig; } catch { _logger.LogError($"Invalid JSON in config file {fullFilePath}"); _logger.LogError($"Please add a valid file in the {ConfigsFolder} folder"); //invalid json, killing the exception, try again with a valid file } } return(_config); }
public async Task <ApiMockerConfig> GetApiMockerConfig(ApplicationSettings applicationSettings) { ApiMockerConfig apiMockerConfig = null; var fileContent = await File.ReadAllTextAsync(applicationSettings.ConfigFullFilePath); JsonSerializerSettings serializerSettings = new JsonSerializerSettings { MissingMemberHandling = MissingMemberHandling.Error, ContractResolver = new CamelCasePropertyNamesContractResolver() }; try { apiMockerConfig = JsonConvert.DeserializeObject <ApiMockerConfig>(fileContent, serializerSettings); } catch { _logger.LogError($"Invalid JSON in config file {applicationSettings.ConfigFullFilePath}"); _logger.LogError($"Please add a valid file in the {applicationSettings.ConfigsFolder} folder"); //invalid json, killing the exception, try again with a valid file } return(apiMockerConfig); }