From ec7f7ebd08bf74c5f5ae1a027e3cd2cbb62a2164 Mon Sep 17 00:00:00 2001 From: Dave Hadka Date: Wed, 29 Apr 2020 09:31:53 -0400 Subject: [PATCH] Use promisify of stream.pipeline for downloading --- dist/restore/index.js | 23 +++++++++++++---------- dist/save/index.js | 23 +++++++++++++---------- src/cacheHttpClient.ts | 15 +++++++-------- 3 files changed, 33 insertions(+), 28 deletions(-) diff --git a/dist/restore/index.js b/dist/restore/index.js index e175183..1fd26f2 100644 --- a/dist/restore/index.js +++ b/dist/restore/index.js @@ -1255,6 +1255,9 @@ const core = __importStar(__webpack_require__(470)); const fs = __importStar(__webpack_require__(747)); const auth_1 = __webpack_require__(226); const http_client_1 = __webpack_require__(539); +const stream = __importStar(__webpack_require__(794)); +const util = __importStar(__webpack_require__(669)); +const constants_1 = __webpack_require__(694); const utils = __importStar(__webpack_require__(443)); const constants_1 = __webpack_require__(694); function isSuccessStatusCode(statusCode) { @@ -1326,13 +1329,10 @@ function getCacheEntry(keys) { }); } exports.getCacheEntry = getCacheEntry; -function pipeResponseToStream(response, stream) { +function pipeResponseToStream(response, output) { return __awaiter(this, void 0, void 0, function* () { - return new Promise(resolve => { - response.message.pipe(stream).on("close", () => { - resolve(); - }); - }); + const pipeline = util.promisify(stream.pipeline); + yield pipeline(response.message, output); }); } function downloadCache(archiveLocation, archivePath) { @@ -1665,10 +1665,6 @@ var __importStar = (this && this.__importStar) || function (mod) { }; Object.defineProperty(exports, "__esModule", { value: true }); const core = __importStar(__webpack_require__(470)); -<<<<<<< HEAD -======= -const glob = __importStar(__webpack_require__(281)); ->>>>>>> 9bb13c7... Fix lint issue, build .js files const io = __importStar(__webpack_require__(1)); const fs = __importStar(__webpack_require__(747)); const os = __importStar(__webpack_require__(87)); @@ -2894,6 +2890,13 @@ run(); exports.default = run; +/***/ }), + +/***/ 794: +/***/ (function(module) { + +module.exports = require("stream"); + /***/ }), /***/ 826: diff --git a/dist/save/index.js b/dist/save/index.js index 602b1cf..a595665 100644 --- a/dist/save/index.js +++ b/dist/save/index.js @@ -1255,6 +1255,9 @@ const core = __importStar(__webpack_require__(470)); const fs = __importStar(__webpack_require__(747)); const auth_1 = __webpack_require__(226); const http_client_1 = __webpack_require__(539); +const stream = __importStar(__webpack_require__(794)); +const util = __importStar(__webpack_require__(669)); +const constants_1 = __webpack_require__(694); const utils = __importStar(__webpack_require__(443)); function isSuccessStatusCode(statusCode) { if (!statusCode) { @@ -1325,13 +1328,10 @@ function getCacheEntry(keys) { }); } exports.getCacheEntry = getCacheEntry; -function pipeResponseToStream(response, stream) { +function pipeResponseToStream(response, output) { return __awaiter(this, void 0, void 0, function* () { - return new Promise(resolve => { - response.message.pipe(stream).on("close", () => { - resolve(); - }); - }); + const pipeline = util.promisify(stream.pipeline); + yield pipeline(response.message, output); }); } function downloadCache(archiveLocation, archivePath) { @@ -1664,10 +1664,6 @@ var __importStar = (this && this.__importStar) || function (mod) { }; Object.defineProperty(exports, "__esModule", { value: true }); const core = __importStar(__webpack_require__(470)); -<<<<<<< HEAD -======= -const glob = __importStar(__webpack_require__(281)); ->>>>>>> 9bb13c7... Fix lint issue, build .js files const io = __importStar(__webpack_require__(1)); const fs = __importStar(__webpack_require__(747)); const os = __importStar(__webpack_require__(87)); @@ -2876,6 +2872,13 @@ module.exports = require("fs"); /***/ }), +/***/ 794: +/***/ (function(module) { + +module.exports = require("stream"); + +/***/ }), + /***/ 826: /***/ (function(module, __unusedexports, __webpack_require__) { diff --git a/src/cacheHttpClient.ts b/src/cacheHttpClient.ts index 702a01a..41078b3 100644 --- a/src/cacheHttpClient.ts +++ b/src/cacheHttpClient.ts @@ -1,12 +1,14 @@ import * as core from "@actions/core"; -import * as fs from "fs"; -import { BearerCredentialHandler } from "@actions/http-client/auth"; import { HttpClient, HttpCodes } from "@actions/http-client"; +import { BearerCredentialHandler } from "@actions/http-client/auth"; import { IHttpClientResponse, IRequestOptions, ITypedResponse } from "@actions/http-client/interfaces"; +import * as fs from "fs"; +import * as stream from "stream"; +import * as util from "util"; import { SocketTimeout } from "./constants"; import { @@ -109,13 +111,10 @@ export async function getCacheEntry( async function pipeResponseToStream( response: IHttpClientResponse, - stream: NodeJS.WritableStream + output: NodeJS.WritableStream ): Promise { - return new Promise(resolve => { - response.message.pipe(stream).on("close", () => { - resolve(); - }); - }); + const pipeline = util.promisify(stream.pipeline); + await pipeline(response.message, output); } export async function downloadCache(