@heroku-cli/command
Version:
base class for Heroku CLI commands
31 lines (30 loc) • 903 B
JavaScript
;
Object.defineProperty(exports, "__esModule", { value: true });
exports.RequestId = exports.requestIdHeader = void 0;
const node_crypto_1 = require("node:crypto");
exports.requestIdHeader = 'Request-Id';
class RequestId {
static create() {
const tracked = RequestId.ids;
const generatedId = RequestId._generate();
RequestId.ids = [generatedId, ...tracked];
return RequestId.ids;
}
static empty() {
RequestId.ids = [];
}
static get headerValue() {
return RequestId.ids.join(',');
}
static track(...ids) {
const tracked = RequestId.ids;
ids = ids.filter(id => !(tracked.includes(id)));
RequestId.ids = [...ids, ...tracked];
return RequestId.ids;
}
static _generate() {
return (0, node_crypto_1.randomUUID)();
}
}
exports.RequestId = RequestId;
RequestId.ids = [];