public override void Load() { var cfg = new LuceneRepositoryConfigurator { EnablePackageFileWatcher = GetFlagFromAppSetting("enablePackageFileWatcher", true), GroupPackageFilesById = GetFlagFromAppSetting("groupPackageFilesById", true), LuceneIndexPath = MapPathFromAppSetting("lucenePath", "~/App_Data/Lucene"), PackagePath = MapPathFromAppSetting("packagesPath", "~/App_Data/Packages") }; cfg.Initialize(); Kernel.Components.Add<IInjectionHeuristic, NonDecoratedPropertyInjectionHeuristic>(); var routeMapper = new NuGetWebApiRouteMapper(RoutePathPrefix); var mirroringPackageRepository = MirroringPackageRepositoryFactory.Create( cfg.Repository, PackageMirrorTargetUrl, PackageMirrorTimeout, AlwaysCheckMirror); var userStore = InitializeUserStore(); Bind<NuGetWebApiRouteMapper>().ToConstant(routeMapper); Bind<ILucenePackageRepository>().ToConstant(cfg.Repository).OnDeactivation(_ => cfg.Dispose()); Bind<IMirroringPackageRepository>().ToConstant(mirroringPackageRepository); Bind<LuceneDataProvider>().ToConstant(cfg.Provider); Bind<UserStore>().ToConstant(userStore); var symbolsPath = MapPathFromAppSetting("symbolsPath", "~/App_Data/Symbols"); Bind<ISymbolSource>().ToConstant(new SymbolSource { SymbolsPath = symbolsPath }); Bind<SymbolTools>().ToConstant(new SymbolTools { SymbolPath = symbolsPath, ToolPath = MapPathFromAppSetting("debuggingToolsPath", "") }); LoadAuthentication(); var tokenSource = new ReusableCancellationTokenSource(); Bind<ReusableCancellationTokenSource>().ToConstant(tokenSource); var repository = base.Kernel.Get<ILucenePackageRepository>(); if (GetFlagFromAppSetting("synchronizeOnStart", true)) { repository.SynchronizeWithFileSystem(tokenSource.Token); } }
protected override void Load(ContainerBuilder builder) { builder.RegisterInstance(settings).As <INuGetWebApiSettings>(); var routeMapper = new NuGetWebApiRouteMapper(settings.RoutePathPrefix); var configurator = InitializeRepositoryConfigurator(settings); var userStore = InitializeUserStore(settings); var repository = configurator.Repository; var mirroringPackageRepository = MirroringPackageRepositoryFactory.Create( repository, settings.PackageMirrorTargetUrl, settings.PackageMirrorTimeout, settings.AlwaysCheckMirror); builder.RegisterInstance(configurator); builder.RegisterInstance(repository); builder.RegisterInstance(routeMapper); builder.RegisterInstance(mirroringPackageRepository).As <IMirroringPackageRepository>(); builder.RegisterInstance(userStore); var symbolsPath = settings.SymbolsPath; builder.RegisterInstance(new SymbolSource { SymbolsPath = symbolsPath, KeepSourcesCompressed = settings.KeepSourcesCompressed }).As <ISymbolSource>().PropertiesAutowired(); builder.RegisterInstance(new SymbolTools { SymbolPath = symbolsPath, ToolPath = settings.ToolsPath }); LoadAuthMiddleware(builder, settings); builder.RegisterInstance(new StopSynchronizationCancellationTokenSource()); builder.RegisterType <PackageFormDataMediaFormatter>().As <MediaTypeFormatter>(); builder.RegisterApiControllers(typeof(NuGetWebApiModule).Assembly).PropertiesAutowired(); }
protected override void Load(ContainerBuilder builder) { builder.RegisterInstance(settings).As<INuGetWebApiSettings>(); var routeMapper = new NuGetWebApiRouteMapper(settings.RoutePathPrefix); var configurator = InitializeRepositoryConfigurator(settings); var userStore = InitializeUserStore(settings); var repository = configurator.Repository; var mirroringPackageRepository = MirroringPackageRepositoryFactory.Create( repository, settings.PackageMirrorTargetUrl, settings.PackageMirrorTimeout, settings.AlwaysCheckMirror); builder.RegisterInstance(configurator); builder.RegisterInstance(repository); builder.RegisterInstance(routeMapper); builder.RegisterInstance(mirroringPackageRepository).As<IMirroringPackageRepository>(); builder.RegisterInstance(userStore); var symbolsPath = settings.SymbolsPath; builder.RegisterInstance(new SymbolSource { SymbolsPath = symbolsPath, KeepSourcesCompressed = settings.KeepSourcesCompressed }).As<ISymbolSource>().PropertiesAutowired(); builder.RegisterInstance(new SymbolTools { SymbolPath = symbolsPath, ToolPath = settings.ToolsPath }); LoadAuthMiddleware(builder, settings); builder.RegisterInstance(new StopSynchronizationCancellationTokenSource()); builder.RegisterType<PackageFormDataMediaFormatter>().As<MediaTypeFormatter>(); builder.RegisterApiControllers(typeof (NuGetWebApiModule).Assembly).PropertiesAutowired(); }
public override void Load() { var cfg = new LuceneRepositoryConfigurator { EnablePackageFileWatcher = GetFlagFromAppSetting("enablePackageFileWatcher", true), GroupPackageFilesById = GetFlagFromAppSetting("groupPackageFilesById", true), LuceneIndexPath = MapPathFromAppSetting("lucenePath", "~/App_Data/Lucene"), PackagePath = MapPathFromAppSetting("packagesPath", "~/App_Data/Packages") }; cfg.Initialize(); Kernel.Components.Add<IInjectionHeuristic, NonDecoratedPropertyInjectionHeuristic>(); var routeMapper = new NuGetWebApiRouteMapper(RoutePathPrefix); var mirroringPackageRepository = MirroringPackageRepositoryFactory.Create(cfg.Repository, PackageMirrorTargetUrl, PackageMirrorTimeout); Bind<NuGetWebApiRouteMapper>().ToConstant(routeMapper); Bind<ILucenePackageRepository>().ToConstant(cfg.Repository).OnDeactivation(_ => cfg.Dispose()); Bind<IMirroringPackageRepository>().ToConstant(mirroringPackageRepository); Bind<LuceneDataProvider>().ToConstant(cfg.Provider); Bind<IQueryable<ApiUser>>().ToConstant(cfg.Provider.AsQueryable<ApiUser>()); Bind<IApiKeyAuthentication>().To<LuceneApiKeyAuthentication>(); Bind<IHttpModule>().To<ApiKeyAuthenticationModule>(); var tokenSource = new ReusableCancellationTokenSource(); Bind<ReusableCancellationTokenSource>().ToConstant(tokenSource); var repository = base.Kernel.Get<ILucenePackageRepository>(); if (GetFlagFromAppSetting("synchronizeOnStart", true)) { repository.SynchronizeWithFileSystem(tokenSource.Token); } }