Files
codeql-action/node_modules/@actions/artifact-legacy/lib/internal/http-manager.js
Angela P Wen a196a714b8 Bump artifact dependencies if CODEQL_ACTION_ARTIFACT_V2_UPGRADE enabled (#2482)
Co-authored-by: Andrew Eisenberg <aeisenberg@github.com>
Co-authored-by: Henry Mercer <henrymercer@github.com>
2024-10-01 09:59:05 -07:00

32 lines
1.2 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.HttpManager = void 0;
const utils_1 = require("./utils");
/**
* Used for managing http clients during either upload or download
*/
class HttpManager {
constructor(clientCount, userAgent) {
if (clientCount < 1) {
throw new Error('There must be at least one client');
}
this.userAgent = userAgent;
this.clients = new Array(clientCount).fill((0, utils_1.createHttpClient)(userAgent));
}
getClient(index) {
return this.clients[index];
}
// client disposal is necessary if a keep-alive connection is used to properly close the connection
// for more information see: https://github.com/actions/http-client/blob/04e5ad73cd3fd1f5610a32116b0759eddf6570d2/index.ts#L292
disposeAndReplaceClient(index) {
this.clients[index].dispose();
this.clients[index] = (0, utils_1.createHttpClient)(this.userAgent);
}
disposeAndReplaceAllClients() {
for (const [index] of this.clients.entries()) {
this.disposeAndReplaceClient(index);
}
}
}
exports.HttpManager = HttpManager;
//# sourceMappingURL=http-manager.js.map