public async Task StoreMZipAsync(string id, string version, CancellationToken token) { var baseUrl = await _serviceIndexCache.GetUrlAsync(ServiceIndexTypes.FlatContainer); var url = _flatContainerClient.GetPackageContentUrl(baseUrl, id, version); using (var reader = await _httpZipProvider.GetReaderAsync(new Uri(url))) { await _fileStorageService.StoreStreamAsync( id, version, FileArtifactType.MZip, destStream => _mZipFormat.WriteAsync(reader.Stream, destStream)); } }
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)); }