private void AssertSuccess(object ipToParse, string expectedIp)
        {
            ValueParseResult parseResult = IpParser.Parse(ipToParse);

            Assert.That(parseResult.Success, Is.True);
            Assert.That(parseResult.Value, Is.EqualTo(expectedIp));
        }
        //private void ApplicationBarFindButton_Click(object sender, EventArgs e)
        //{
        //    indicator.IsVisible = true;

        //    //some method to find server
        //    MessageText.Text = "Server Finded!";
        //    //indicator.IsVisible = false;

        //}

        private void ApplicationBarConnectButton_Click(object sender, EventArgs e)
        {
            if (IpText.Text != "" && UserName.Text != "")
            {
                _ioClass.saveIpAddress(IpText.Text);
                _ioClass.saveUserName(UserName.Text);
                var ip       = string.Empty;
                var port     = string.Empty;
                var ipParser = new IpParser();
                try
                {
                    ipParser.Parse(IpText.Text, ref ip, ref port);
                    _socketClient.Connect(ip, Int32.Parse(port));
                    _indicator.IsVisible = true;
                }
                catch (Exception)
                {
                    MessageText.Text = "Error!";
                }
            }
            else
            {
                MessageText.Text = "Ip address or User name is empty!";
            }
        }
        private void AssertFail(object ipToParse)
        {
            ValueParseResult parseResult = IpParser.Parse(ipToParse);

            Assert.That(parseResult.Success, Is.False);
            Assert.That(parseResult.Value, Is.Null);
            Assert.That(parseResult.ErrorDetails, Is.Not.Empty);
        }
Exemple #4
0
        public override bool IsWhitelisted(ClientRequestIdentity requestIdentity)
        {
            if (_options.IpWhitelist != null && IpParser.ContainsIp(_options.IpWhitelist, requestIdentity.ClientIp))
            {
                return(true);
            }

            return(base.IsWhitelisted(requestIdentity));
        }
Exemple #5
0
 static WordSpliter()
 {
     _ipParser       = new IpParser();
     _arabParser     = new ArabNumberParser();
     _chNumberParser = new ChineseNumberParser();
     _emojiParser    = EmojiParser.Parser;
     _emailParser    = new EmailParser();
     _englishParser  = new EnglishWordParser();
     _goodsParser    = new GoodsUrlParser();
     _urlParser      = new UrlParser();
     _chineseParser  = new ChineseWordParser();
 }
Exemple #6
0
        static void Main(string[] args)
        {
            Console.WriteLine("Hello World!");
            Console.WriteLine("delete:/api/values".IsMatch("*:/api/values"));
            Console.WriteLine("delete:/api/values".IsMatch("*:/api/?"));
            Console.WriteLine("delete:/api/values".IsMatch("*:/api/*"));

            Console.WriteLine(IpParser.ContainsIp("127.0.0.0/10", "127.0.0.1"));
            Console.WriteLine(IpParser.ContainsIp("127.0.0.1/10", "127.0.0.1"));
            Console.WriteLine(IpParser.ContainsIp("127.0.1.0/10", "127.0.0.1"));
            Console.WriteLine(IpParser.ContainsIp("::1/10", "::9"));
            Console.WriteLine(IpParser.ContainsIp("::1/10", "127.0.0.1"));
            Console.ReadLine();
        }
Exemple #7
0
        public async Task <IEnumerable <RateLimitRule> > GetMatchingRulesAsync(ClientRequestIdentity identity, CancellationToken cancellationToken = default)
        {
            var policies = await _cacheManager.GetCache(nameof(IpRateLimitPolicies))
                           .GetOrDefaultAsync <string, IpRateLimitPolicies>($"{IpRateLimitOptions.IpPolicyPrefix}");

            var rules = new List <RateLimitRule>();

            if (policies?.IpRules?.Any() == true)
            {
                // search for rules with IP intervals containing client IP
                var matchPolicies = policies.IpRules.Where(r => IpParser.ContainsIp(r.Ip, identity.ClientIp));

                foreach (var item in matchPolicies)
                {
                    rules.AddRange(item.Rules);
                }
            }

            return(GetMatchingRules(identity, rules));
        }