UNPKG

@heroku-cli/command

Version:
27 lines (26 loc) 731 B
import { randomUUID } from 'node:crypto'; export const requestIdHeader = 'Request-Id'; export class RequestId { static ids = []; 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 randomUUID(); } }