public DnsUpdaterService(IServiceProvider serviceProvider) { _logger = serviceProvider.GetRequiredService <ILoggerAdapter <DnsUpdaterService> >(); _dateTime = serviceProvider.GetRequiredService <IDateTimeAbstraction>(); _httpService = serviceProvider.GetRequiredService <IBasicHttpService>(); _config = serviceProvider.GetRequiredService <DnsUpdaterConfig>(); }
private static DnsUpdaterConfig GenerateConfig(IConfiguration configuration) { var boundConfig = new DnsUpdaterConfig(); var section = configuration.GetSection("DnsUpdater"); if (section.Exists()) { section.Bind(boundConfig); } return(boundConfig); }
public ConfigService(IServiceProvider serviceProvider) { _logger = serviceProvider.GetRequiredService <ILoggerAdapter <ConfigService> >(); _path = serviceProvider.GetRequiredService <IPathAbstraction>(); _directory = serviceProvider.GetRequiredService <IDirectoryAbstraction>(); _file = serviceProvider.GetRequiredService <IFileAbstraction>(); _jsonHelper = serviceProvider.GetRequiredService <IJsonHelper>(); _dateTime = serviceProvider.GetRequiredService <IDateTimeAbstraction>(); _environment = serviceProvider.GetRequiredService <IEnvironmentAbstraction>(); CoreConfig = serviceProvider.GetRequiredService <DnsUpdaterConfig>(); _dnsEntriesConfig = LoadConfiguration(CoreConfig); }
public HostIpAddressService(IServiceProvider serviceProvider) { _logger = serviceProvider.GetRequiredService <ILoggerAdapter <HostIpAddressService> >(); _httpService = serviceProvider.GetRequiredService <IBasicHttpService>(); _config = serviceProvider.GetRequiredService <DnsUpdaterConfig>(); _dateTime = serviceProvider.GetRequiredService <IDateTimeAbstraction>(); _providerUrl = GetProviderUrl("ipify"); _httpTimeoutMs = _config.DefaultHttpTimeoutMs; _lastHostAddress = string.Empty; _nextUpdate = null; }
private DnsEntriesConfig LoadConfiguration(DnsUpdaterConfig config) { var configDir = _path.GetDirectoryName(config.ConfigFile); // Ensure that the configuration directory exists if (!_directory.Exists(configDir)) { _logger.LogInformation("Creating configuration directory: {path}", configDir); _directory.CreateDirectory(configDir); } // Ensure that we have a configuration file to work with if (!_file.Exists(config.ConfigFile)) { _logger.LogInformation("Generating sample configuration file: {path}", config.ConfigFile); var sampleJson = _jsonHelper.SerializeObject(GenerateSampleConfig(), true); _file.WriteAllText(config.ConfigFile, sampleJson); } // Load, parse and return our configuration var rawConfig = _file.ReadAllText(config.ConfigFile); return(_jsonHelper.DeserializeObject <DnsEntriesConfig>(rawConfig)); }