Exemplo n.º 1
0
        /// <summary>
        /// Parse user agent
        /// 解析用户代理信息
        /// </summary>
        /// <param name="userAgent">User agent</param>
        /// <param name="parser">UAParser</param>
        /// <returns>Action result</returns>
        protected IActionResult ParseUserAgent(string?userAgent, out UAParser parser)
        {
            // User-Agent validatation
            parser = new UAParser(userAgent);
            if (!parser.Valid || parser.IsBot)
            {
                return(ApplicationErrors.NoUserAgent.AsResult());
            }

            return(Utils.Actions.ActionResult.Success);
        }
Exemplo n.º 2
0
        public void Parse_Bulk(string userAgent, bool isBot, UADeviceFamily device, string os, string client)
        {
            // Arrange & act
            var parser = new UAParser(userAgent);

            var result = parser.ToString();

            // Assert
            Assert.IsTrue(parser.IsBot == isBot, $"IsBot not equal to {isBot}");
            Assert.IsTrue(parser.Device?.Family == device, $"Device Family {parser.Device?.Family} not equal to {device}");
            Assert.IsTrue(parser.OS?.ToString() == os, $"OS Family {parser.OS?.ToString()} not equal to {os}");
            Assert.IsTrue(parser.Client?.ToString() == client, $"Client Family {parser.Client?.ToString()} not equal to {client}");
        }
Exemplo n.º 3
0
        /// <summary>
        /// Parse user agent
        /// 解析用户代理信息
        /// </summary>
        /// <param name="userAgent">User agent</param>
        /// <param name="identifier">Identifier</param>
        /// <returns>Action result</returns>
        protected IActionResult ParseUserAgent(string?userAgent, out string identifier)
        {
            identifier = string.Empty;

            // User-Agent validatation
            var parser = new UAParser(userAgent);

            if (!parser.Valid || parser.IsBot)
            {
                return(ApplicationErrors.NoUserAgent.AsResult());
            }

            identifier = parser.ToShortName();

            return(Utils.Actions.ActionResult.Success);
        }