예제 #1
0
        internal virtual NamecheapDnsClientWrapper InitializeDnsClient(string envUsername, string envApiUser, string envApiKey, bool sandbox)
        {
            var dnsClient = new NamecheapDnsClientWrapper();

            dnsClient.Initialize(envUsername, envApiUser, envApiKey, sandbox);

            return(dnsClient);
        }
예제 #2
0
        public Task Initialize(Options opts)
        {
            var envApiUser  = ConfigManager.GetEnvVarRequired(EnvApiUser);
            var envUsername = ConfigManager.GetEnvVarOrDefault(EnvUsername) ?? envApiUser;
            var envApiKey   = ConfigManager.GetEnvVarRequired(EnvApiKey);

            _dnsClient = InitializeDnsClient(envUsername, envApiUser, envApiKey, opts.Sandbox);

            var cacheProvider      = new FileCacheProvider(cacheTimeToLive: new TimeSpan(10, 0, 0));
            var webTldRuleProvider = new WebTldRuleProvider(cacheProvider: cacheProvider);

            _domainParser = new DomainParser(webTldRuleProvider);

            _ttlToUse = opts.Ttl ?? ConfigManager.DefaultTtlInSeconds;

            return(Task.CompletedTask);
        }