public KrakenClient() { _url = ConfigurationManager.AppSettings["KrakenBaseAddress"]; _version = int.Parse(ConfigurationManager.AppSettings["KrakenApiVersion"]); try { _key = ConfigurationManager.AppSettings["KrakenKey"]; _secret = ConfigurationManager.AppSettings["KrakenSecret"]; NiveauDeVerification tier = (NiveauDeVerification)Enum.Parse(typeof(NiveauDeVerification), ConfigurationManager.AppSettings["NiveauDeVerification"]); ddosProtection = new DDOSProtection(tier); } catch { publicOnly = true; Warn(); } }
internal DDOSProtection(NiveauDeVerification tier) { diminueCompteur = new Timer(DiminueCompteur, null, tempsReductionCompteur, tempsReductionCompteur); lastCall = DateTime.UtcNow; this.tier = tier; switch (tier) { case NiveauDeVerification.Tier2: compteurMax = 15; tempsReductionCompteur = new TimeSpan(0, 0, 3); //3 secondes break; case NiveauDeVerification.Tier3: case NiveauDeVerification.Tier4: compteurMax = 20; tempsReductionCompteur = new TimeSpan(0, 0, 1); break; } }