mirror of
https://github.com/github/codeql-action.git
synced 2025-12-27 17:50:07 +08:00
32 lines
1.2 KiB
JavaScript
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(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] = utils_1.createHttpClient(this.userAgent);
|
|
}
|
|
disposeAndReplaceAllClients() {
|
|
for (const [index] of this.clients.entries()) {
|
|
this.disposeAndReplaceClient(index);
|
|
}
|
|
}
|
|
}
|
|
exports.HttpManager = HttpManager;
|
|
//# sourceMappingURL=http-manager.js.map
|