public async Task Invoke(HttpContext context) { var parser = new UserAgentParser(context.Request.Headers["User-Agent"]); parser.Determine(); var browserName = parser.BrowserName; var forbittenBrowsers = new List <string> { "Edge", "Internet Explorer", "EdgeChromium" }; if (forbittenBrowsers.Any(browserName.Contains)) { await context.Response.WriteAsync("Nielegalnia przeglądarka"); } else { await _next(context); } }
public void TestWithACollectionData() { var error = string.Empty; // Arrange var expectedUserAgents = GetExpectedOutput(); // Act foreach (var expectedAgent in expectedUserAgents) { var userAgentNet = new UserAgentParser(expectedAgent.RawUserAgent); userAgentNet.Determine(); // Assert if (expectedAgent.Browser != userAgentNet.BrowserName || expectedAgent.AolVersion != userAgentNet.AolVersion || expectedAgent.IsAol != userAgentNet.IsAol || expectedAgent.IsFacebook != userAgentNet.IsFacebook || expectedAgent.IsMobile != userAgentNet.IsMobile || expectedAgent.IsRobot != userAgentNet.IsRobot || expectedAgent.IsTablet != userAgentNet.IsTablet || expectedAgent.Platform != userAgentNet.Platform || expectedAgent.Version != userAgentNet.Version) { error += expectedAgent.Browser + "--" + expectedAgent.Version + "-------" + userAgentNet.BrowserName + "--" + userAgentNet.Version + "-------" + expectedAgent.RawUserAgent + Environment.NewLine; } Assert.AreEqual(expectedAgent.Browser, userAgentNet.BrowserName); Assert.AreEqual(expectedAgent.Version, userAgentNet.Version); Assert.AreEqual(expectedAgent.AolVersion, userAgentNet.AolVersion); Assert.AreEqual(expectedAgent.IsAol, userAgentNet.IsAol); Assert.AreEqual(expectedAgent.IsChromeFrame, userAgentNet.IsChromeFrame); Assert.AreEqual(expectedAgent.IsFacebook, userAgentNet.IsFacebook); Assert.AreEqual(expectedAgent.IsMobile, userAgentNet.IsMobile); Assert.AreEqual(expectedAgent.IsRobot, userAgentNet.IsRobot); Assert.AreEqual(expectedAgent.IsTablet, userAgentNet.IsTablet); Assert.AreEqual(expectedAgent.Platform, userAgentNet.Platform); } File.WriteAllText(@"error.txt", error); }