示例#1
0
        public PackageValidator Create(
            string galleryUrl,
            string indexUrl,
            string packageBaseAddress,
            StorageFactory auditingStorageFactory,
            IEnumerable <EndpointFactory.Input> endpointInputs,
            Func <HttpMessageHandler> messageHandlerFactory,
            bool requireSignature = false,
            bool verbose          = false)
        {
            var validatorFactory = new ValidatorFactoryFactory(_loggerFactory).Create(galleryUrl, indexUrl, packageBaseAddress);
            var endpointFactory  = new EndpointFactory(validatorFactory, messageHandlerFactory, _loggerFactory);

            var validators = new List <IAggregateValidator>();

            validators.AddRange(endpointInputs.Select(e => endpointFactory.Create(e)));
            validators.Add(new CatalogAggregateValidator(validatorFactory, requireSignature));

            return(new PackageValidator(validators, auditingStorageFactory, _loggerFactory.CreateLogger <PackageValidator>()));
        }