Пример #1
0
 private static void ValidateOptions(DetectionOptions options)
 {
     if (options.Responsive.Disable && options.Responsive.IncludeWebApi)
     {
         throw new InvalidOperationException("IncludeWebApi is not needed if already Disable");
     }
 }
Пример #2
0
        internal static ResponsiveService ResponsiveService(string agent, DetectionOptions options = null !)
        {
            var accessor = CreateHttpContextAccessor(agent);
            var device   = DeviceService(agent);

            return(ResponsiveService(accessor, device, options));
        }
Пример #3
0
        public static ResponsiveService Responsive(string agent, DetectionOptions options = null)
        {
            var accessor = HttpContextAccessor(agent);
            var device   = Device(agent);

            return(Responsive(accessor, device, options));
        }
        public MultiStreamBatchedProcessorPipeline([DisallowNull] ILogger <MultiStreamBatchedProcessorPipeline> logger,
                                                   IOptions <VideoStreamsOptions> options,
                                                   IOptions <DetectionOptions> detectionOptions,
                                                   HeartbeatHealthCheck <MultiStreamBatchedProcessorPipeline> healthCheck,
                                                   IBatchedDnnDetector detector,
                                                   IEnumerable <IAsyncSingleResultProcessor> resultProcessors) :
            base(logger, options)
        {
            if (resultProcessors is null)
            {
                throw new ArgumentNullException(nameof(resultProcessors));
            }
            if (detector is null)
            {
                throw new ArgumentNullException(nameof(detector));
            }
            if (healthCheck is null)
            {
                throw new ArgumentNullException(nameof(healthCheck));
            }

            _detector         = detector;
            _resultProcessors = new List <IAsyncSingleResultProcessor>(resultProcessors);
            _healthCheck      = healthCheck;

            _streamsConfig    = Options;
            _detectionOptions = GetValidatedOptions(detectionOptions);

            Logger.LogInformation("Loaded configuration for {numberOfStreams} streams:{streamIds}",
                                  _streamsConfig.Count,
                                  String.Join(",", _streamsConfig.Select(s => s.Id)));
        }
Пример #5
0
        public CrawlerService(IUserAgentService useragent, DetectionOptions options)
        {
            var agent = useragent.UserAgent;

            Name      = GetCrawler(agent, options.Crawler.Others);
            IsCrawler = Name != Crawler.Unknown;
            Version   = GetVersion(agent);
        }
Пример #6
0
        public void OptionCrawlerForOthers()
        {
            var agent   = "starnic";
            var options = new DetectionOptions();

            options.Crawler.Others.Add("starnic");
            var resolver = MockService.CrawlerService(agent, options);

            Assert.True(resolver.IsCrawler);
            Assert.Equal(Crawler.Others, resolver.Name);
        }
Пример #7
0
        public void DefaultMobile()
        {
            var options = new DetectionOptions();

            options.Responsive.DefaultDesktop = Device.Mobile;
            options.Responsive.DefaultTablet  = Device.Mobile;
            options.Responsive.DefaultMobile  = Device.Mobile;

            Assert.Equal(Device.Mobile, MockService.Responsive("mobile", options).View);
            Assert.Equal(Device.Mobile, MockService.Responsive("tablet", options).View);
            Assert.Equal(Device.Mobile, MockService.Responsive("desktop", options).View);
        }
Пример #8
0
 public CrawlerService(IUserAgentService useragent, DetectionOptions options)
 {
     _useragent = useragent;
     _options   = options;
 }
Пример #9
0
        public ResponsiveService(IHttpContextAccessor accessor, IDeviceService deviceService, DetectionOptions options)
        {
            if (accessor is null)
            {
                throw new ArgumentNullException(nameof(accessor));
            }

            if (deviceService is null)
            {
                throw new ArgumentNullException(nameof(deviceService));
            }

            options = options ?? new DetectionOptions();

            _context     = accessor.HttpContext;
            _defaultView = DefaultView(deviceService.Type, options.Responsive);
        }
Пример #10
0
 private static void ValidateOptions(DetectionOptions options)
 {
 }
Пример #11
0
 internal static CrawlerService CrawlerService(string agent, DetectionOptions options)
 => new CrawlerService(UserAgentService(agent), options);
Пример #12
0
 internal static ResponsiveService ResponsiveService(IHttpContextAccessor accessor, IDeviceService device, DetectionOptions options = null !)
 => new ResponsiveService(accessor, device, options);
Пример #13
0
 public static CrawlerService Crawler(string agent, DetectionOptions options)
 => new CrawlerService(UserAgent(agent), options);