示例#1
0
 public MZipStore(
     IFileStorageService fileStorageService,
     ServiceIndexCache serviceIndexCache,
     FlatContainerClient flatContainerClient,
     HttpZipProvider httpZipProvider,
     MZipFormat mZipFormat,
     ILogger <MZipStore> logger)
 {
     _fileStorageService  = fileStorageService;
     _serviceIndexCache   = serviceIndexCache;
     _flatContainerClient = flatContainerClient;
     _httpZipProvider     = httpZipProvider;
     _mZipFormat          = mZipFormat;
     _logger = logger;
 }
示例#2
0
        private async Task <TMetadata> FetchMetadataAsync(
            HttpClient httpClient, string nupkgUri, NuspecReader nuspecReader, string id, string version, Logger logger)
        {
            var httpZipProvider = new HttpZipProvider(httpClient);

            var zipDirectoryReader = await httpZipProvider.GetReaderAsync(new Uri(nupkgUri));

            var zipDirectory = await zipDirectoryReader.ReadAsync();

            var files = zipDirectory
                        .Entries
                        .Select(x => x.GetName())
                        .ToList();

            return(ReadMetadata(files, nuspecReader));
        }