diff --git a/Extensions/ArtifactEngine/Providers/webProvider.ts b/Extensions/ArtifactEngine/Providers/webProvider.ts index dc6706a49..402a22a73 100644 --- a/Extensions/ArtifactEngine/Providers/webProvider.ts +++ b/Extensions/ArtifactEngine/Providers/webProvider.ts @@ -50,6 +50,7 @@ export class WebProvider implements IArtifactProvider { var downloadSize: number = 0; var contentType: string = artifactItem.contentType; var itemUrl: string = artifactItem.metadata['downloadUrl']; + var zipStream = null; itemUrl = itemUrl.replace(/([^:]\/)\/+/g, "$1"); this.webClient.get(itemUrl, contentType ? { 'Accept': contentType } : undefined).then((res: HttpClientResponse) => { res.message.on('data', (chunk) => { @@ -59,12 +60,17 @@ export class WebProvider implements IArtifactProvider { this.artifactItemStore.updateDownloadSize(artifactItem, downloadSize); }); res.message.on('error', (error) => { + if (zipStream) { + zipStream.destroy(error); + Logger.logMessage(error); + } reject(error); }); if (res.message.headers['content-encoding'] === 'gzip') { try { - resolve(res.message.pipe(zlib.createUnzip())); + zipStream = zlib.createUnzip(); + resolve(res.message.pipe(zipStream)); } catch (err) { reject(err); diff --git a/Extensions/ArtifactEngine/npm-shrinkwrap.json b/Extensions/ArtifactEngine/npm-shrinkwrap.json index 66d6cf4c5..9646b9190 100644 --- a/Extensions/ArtifactEngine/npm-shrinkwrap.json +++ b/Extensions/ArtifactEngine/npm-shrinkwrap.json @@ -1,6 +1,6 @@ { "name": "artifact-engine", - "version": "1.2.0", + "version": "1.3.0", "lockfileVersion": 1, "requires": true, "dependencies": { diff --git a/Extensions/ArtifactEngine/package.json b/Extensions/ArtifactEngine/package.json index d63a5ce4c..44d5e0bea 100644 --- a/Extensions/ArtifactEngine/package.json +++ b/Extensions/ArtifactEngine/package.json @@ -1,6 +1,6 @@ { "name": "artifact-engine", - "version": "1.2.0", + "version": "1.3.0", "description": "Artifact Engine to download artifacts from jenkins, teamcity, vsts", "repository": { "type": "git",