1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | exports.RequestId = exports.requestIdHeader = void 0;
|
4 | const tslib_1 = require("tslib");
|
5 | const uuid = tslib_1.__importStar(require("uuid"));
|
6 | exports.requestIdHeader = 'Request-Id';
|
7 |
|
8 | class RequestId {
|
9 | static track(...ids) {
|
10 | const tracked = RequestId.ids;
|
11 | ids = ids.filter(id => !(tracked.includes(id)));
|
12 | RequestId.ids = [...ids, ...tracked];
|
13 | return RequestId.ids;
|
14 | }
|
15 | static create() {
|
16 | const tracked = RequestId.ids;
|
17 | const generatedId = RequestId._generate();
|
18 | RequestId.ids = [generatedId, ...tracked];
|
19 | return RequestId.ids;
|
20 | }
|
21 | static empty() {
|
22 | RequestId.ids = [];
|
23 | }
|
24 | static get headerValue() {
|
25 | return RequestId.ids.join(',');
|
26 | }
|
27 | static _generate() {
|
28 | return uuid.v4();
|
29 | }
|
30 | }
|
31 | exports.RequestId = RequestId;
|
32 | RequestId.ids = [];
|