1 | "use strict";
|
2 | Object.defineProperty(exports, "__esModule", { value: true });
|
3 | exports.wrapTraceContext = void 0;
|
4 | const trace_1 = require("../common/trace");
|
5 | function wrapTraceContext(handler) {
|
6 | return (...args) => {
|
7 | let traceParent;
|
8 | if (args.length === 1) {
|
9 | traceParent = (0, trace_1.extractTraceContext)(args[0]);
|
10 | }
|
11 | else {
|
12 | traceParent = (0, trace_1.extractTraceContext)(args[0].headers);
|
13 | }
|
14 | if (!traceParent) {
|
15 |
|
16 | return handler.apply(null, args);
|
17 | }
|
18 | return trace_1.traceContext.run(traceParent, handler, ...args);
|
19 | };
|
20 | }
|
21 | exports.wrapTraceContext = wrapTraceContext;
|