Exemplo n.º 1
0
 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);
    }
Exemplo n.º 3
0
    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);
    }
Exemplo n.º 4
0
    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;
    }
Exemplo n.º 5
0
    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));
    }