Skip to content

Commit

Permalink
Merge pull request #284 from actions/promisify-pipeline
Browse files Browse the repository at this point in the history
Better error handling during download
  • Loading branch information
David Hadka authored and GitHub committed Apr 29, 2020
2 parents 54626c4 + 1ed0c23 commit 9f07ee1
Show file tree
Hide file tree
Showing 3 changed files with 29 additions and 18 deletions.
18 changes: 12 additions & 6 deletions dist/restore/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -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";
Expand Down Expand Up @@ -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) {
Expand Down Expand Up @@ -4662,6 +4661,13 @@ run();
exports.default = run;


/***/ }),

/***/ 794:
/***/ (function(module) {

module.exports = require("stream");

/***/ }),

/***/ 826:
Expand Down
18 changes: 12 additions & 6 deletions dist/save/index.js
Original file line number Diff line number Diff line change
Expand Up @@ -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";
Expand Down Expand Up @@ -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) {
Expand Down Expand Up @@ -4641,6 +4640,13 @@ module.exports = require("fs");

/***/ }),

/***/ 794:
/***/ (function(module) {

module.exports = require("stream");

/***/ }),

/***/ 826:
/***/ (function(module, __unusedexports, __webpack_require__) {

Expand Down
11 changes: 5 additions & 6 deletions src/cacheHttpClient.ts
Original file line number Diff line number Diff line change
Expand Up @@ -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 {
Expand Down Expand Up @@ -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(
Expand Down

0 comments on commit 9f07ee1

Please sign in to comment.