Use promisify of stream.pipeline for downloading

This commit is contained in:
Dave Hadka 2020-04-29 09:31:53 -04:00
parent 48b62c1c52
commit 1ed0c23029
3 changed files with 29 additions and 18 deletions

18
dist/restore/index.js vendored
View file

@ -2186,6 +2186,8 @@ const http_client_1 = __webpack_require__(539);
const auth_1 = __webpack_require__(226);
const crypto = __importStar(__webpack_require__(417));
const fs = __importStar(__webpack_require__(747));
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 versionSalt = "1.0";
@ -2271,13 +2273,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) {
@ -4662,6 +4661,13 @@ run();
exports.default = run;
/***/ }),
/***/ 794:
/***/ (function(module) {
module.exports = require("stream");
/***/ }),
/***/ 826:

18
dist/save/index.js vendored
View file

@ -2186,6 +2186,8 @@ const http_client_1 = __webpack_require__(539);
const auth_1 = __webpack_require__(226);
const crypto = __importStar(__webpack_require__(417));
const fs = __importStar(__webpack_require__(747));
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 versionSalt = "1.0";
@ -2271,13 +2273,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) {
@ -4641,6 +4640,13 @@ module.exports = require("fs");
/***/ }),
/***/ 794:
/***/ (function(module) {
module.exports = require("stream");
/***/ }),
/***/ 826:
/***/ (function(module, __unusedexports, __webpack_require__) {

View file

@ -8,6 +8,8 @@ import {
} from "@actions/http-client/interfaces";
import * as crypto from "crypto";
import * as fs from "fs";
import * as stream from "stream";
import * as util from "util";
import { Inputs, SocketTimeout } from "./constants";
import {
@ -128,13 +130,10 @@ export async function getCacheEntry(
async function pipeResponseToStream(
response: IHttpClientResponse,
stream: NodeJS.WritableStream
output: NodeJS.WritableStream
): Promise<void> {
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(