public FactoryIndexerFile( IOptionsMonitor <ILog> options, TenantManager tenantManager, SearchSettingsHelper searchSettingsHelper, FactoryIndexer factoryIndexer, BaseIndexer <DbFile> baseIndexer, IServiceProvider serviceProvider, IDaoFactory daoFactory) : base(options, tenantManager, searchSettingsHelper, factoryIndexer, baseIndexer, serviceProvider) { DaoFactory = daoFactory; }
public FactoryIndexerEvents( IOptionsMonitor <ILog> options, TenantManager tenantManager, SearchSettingsHelper searchSettingsHelper, FactoryIndexer factoryIndexer, BaseIndexer <DbRelationshipEvent> baseIndexer, IServiceProvider serviceProvider, DaoFactory daoFactory, ICache cache) : base(options, tenantManager, searchSettingsHelper, factoryIndexer, baseIndexer, serviceProvider, cache) { DaoFactory = daoFactory; }
public FactoryIndexerFile( IOptionsMonitor <ILog> options, TenantManager tenantManager, SearchSettingsHelper searchSettingsHelper, FactoryIndexer factoryIndexer, BaseIndexer <DbFile> baseIndexer, IServiceProvider serviceProvider, IDaoFactory daoFactory, ICache cache, ConfigurationExtension configurationExtension) : base(options, tenantManager, searchSettingsHelper, factoryIndexer, baseIndexer, serviceProvider, cache) { DaoFactory = daoFactory; Settings = Settings.GetInstance(configurationExtension); }
protected override void Load(ContainerBuilder builder) { // Just register everything! var thisAssembly = typeof(JackettModule).Assembly; builder.RegisterAssemblyTypes(thisAssembly).Except <IIndexer>().AsImplementedInterfaces().SingleInstance(); builder.RegisterApiControllers(thisAssembly).InstancePerRequest(); builder.RegisterType <HttpWebClient>(); // Register the best web client for the platform or the override switch (Startup.ClientOverride) { case "httpclient": builder.RegisterType <HttpWebClient>().As <IWebClient>(); break; case "httpclient2": builder.RegisterType <HttpWebClient2>().As <IWebClient>(); break; case "safecurl": builder.RegisterType <UnixSafeCurlWebClient>().As <IWebClient>(); break; case "libcurl": builder.RegisterType <UnixLibCurlWebClient>().As <IWebClient>(); break; case "automatic": default: if (System.Environment.OSVersion.Platform == PlatformID.Unix) { var usehttpclient = false; try { Type monotype = Type.GetType("Mono.Runtime"); if (monotype != null) { MethodInfo displayName = monotype.GetMethod("GetDisplayName", BindingFlags.NonPublic | BindingFlags.Static); if (displayName != null) { var monoVersion = displayName.Invoke(null, null).ToString(); var monoVersionO = new Version(monoVersion.Split(' ')[0]); if (monoVersionO.Major >= 4 && monoVersionO.Minor >= 8) { // check if btls is supported var monoSecurity = Assembly.Load("Mono.Security"); Type monoTlsProviderFactory = monoSecurity.GetType("Mono.Security.Interface.MonoTlsProviderFactory"); if (monoTlsProviderFactory != null) { MethodInfo isProviderSupported = monoTlsProviderFactory.GetMethod("IsProviderSupported"); if (isProviderSupported != null) { var btlsSupported = (bool)isProviderSupported.Invoke(null, new string[] { "btls" }); if (btlsSupported) { // initialize btls MethodInfo initialize = monoTlsProviderFactory.GetMethod("Initialize", new[] { typeof(string) }); if (initialize != null) { initialize.Invoke(null, new string[] { "btls" }); usehttpclient = true; } } } } } } } } catch (Exception e) { Console.Out.WriteLine("Error while deciding which HttpWebClient to use: " + e); } if (usehttpclient) { builder.RegisterType <HttpWebClient>().As <IWebClient>(); } else { builder.RegisterType <UnixLibCurlWebClient>().As <IWebClient>(); } } else { builder.RegisterType <HttpWebClient>().As <IWebClient>(); } break; } // Register indexers foreach (var indexer in thisAssembly.GetTypes() .Where(p => typeof(IIndexer).IsAssignableFrom(p) && !p.IsInterface) .ToArray()) { builder.RegisterType(indexer).Named <IIndexer>(BaseIndexer.GetIndexerID(indexer)); } Mapper.CreateMap <WebClientByteResult, WebClientStringResult>().ForMember(x => x.Content, opt => opt.Ignore()).AfterMap((be, str) => { str.Content = Encoding.UTF8.GetString(be.Content); }); Mapper.CreateMap <WebClientStringResult, WebClientByteResult>().ForMember(x => x.Content, opt => opt.Ignore()).AfterMap((str, be) => { if (!string.IsNullOrEmpty(str.Content)) { be.Content = Encoding.UTF8.GetBytes(str.Content); } }); Mapper.CreateMap <WebClientStringResult, WebClientStringResult>(); Mapper.CreateMap <WebClientByteResult, WebClientByteResult>(); Mapper.CreateMap <ReleaseInfo, ReleaseInfo>(); Mapper.CreateMap <ReleaseInfo, TrackerCacheResult>().AfterMap((r, t) => { if (r.Category != null) { var CategoryDesc = string.Join(", ", r.Category.Select(x => TorznabCatType.GetCatDesc(x)).Where(x => !string.IsNullOrEmpty(x))); t.CategoryDesc = CategoryDesc; } else { t.CategoryDesc = ""; } }); }
protected override void Load(ContainerBuilder builder) { // Just register everything! var thisAssembly = typeof(JackettModule).Assembly; builder.RegisterAssemblyTypes(thisAssembly).Except <IIndexer>().AsImplementedInterfaces().SingleInstance(); builder.RegisterApiControllers(thisAssembly).InstancePerRequest(); builder.RegisterType <HttpWebClient>(); // Register the best web client for the platform or the override switch (Startup.ClientOverride) { case "httpclient": builder.RegisterType <HttpWebClient>().As <IWebClient>(); break; case "safecurl": builder.RegisterType <UnixSafeCurlWebClient>().As <IWebClient>(); break; case "libcurl": builder.RegisterType <UnixLibCurlWebClient>().As <IWebClient>(); break; case "automatic": default: if (System.Environment.OSVersion.Platform == PlatformID.Unix) { builder.RegisterType <UnixLibCurlWebClient>().As <IWebClient>(); } else { builder.RegisterType <HttpWebClient>().As <IWebClient>(); } break; } // Register indexers foreach (var indexer in thisAssembly.GetTypes() .Where(p => typeof(IIndexer).IsAssignableFrom(p) && !p.IsInterface) .ToArray()) { builder.RegisterType(indexer).Named <IIndexer>(BaseIndexer.GetIndexerID(indexer)); } Mapper.CreateMap <WebClientByteResult, WebClientStringResult>().ForMember(x => x.Content, opt => opt.Ignore()).AfterMap((be, str) => { str.Content = Encoding.UTF8.GetString(be.Content); }); Mapper.CreateMap <WebClientStringResult, WebClientByteResult>().ForMember(x => x.Content, opt => opt.Ignore()).AfterMap((str, be) => { if (!string.IsNullOrEmpty(str.Content)) { be.Content = Encoding.UTF8.GetBytes(str.Content); } }); Mapper.CreateMap <WebClientStringResult, WebClientStringResult>(); Mapper.CreateMap <WebClientByteResult, WebClientByteResult>(); Mapper.CreateMap <ReleaseInfo, ReleaseInfo>(); Mapper.CreateMap <ReleaseInfo, TrackerCacheResult>().AfterMap((r, t) => { t.CategoryDesc = TorznabCatType.GetCatDesc(r.Category); }); }