UNPKG

http-tracer-component

Version:

Add tracing spans to each request handler.

42 lines 1.82 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.parseTraceParentHeader = exports.parseTraceState = void 0; function parseTraceState(traceState) { const convertedTraceState = traceState.split(',').reduce((acc, curr) => { const [key, value] = curr.split('='); if (!key || !value) { return acc; } acc[key.trim()] = value.trim(); return acc; }, {}); return Object.keys(convertedTraceState).length > 0 ? convertedTraceState : null; } exports.parseTraceState = parseTraceState; function parseTraceParentHeader(traceParent) { const traceParentProperties = traceParent.split('-'); if (!traceParentProperties[0] || !traceParentProperties[1] || !traceParentProperties[2] || !traceParentProperties[3]) { return null; } const versionHasTheWrongSize = traceParentProperties[0].length !== 2; const traceIdHasTheWrongSize = traceParentProperties[1].length !== 32; const parentIdHasTheWrongSize = traceParentProperties[2].length !== 16; const traceFlagsHaveTheWrongSize = traceParentProperties[3].length !== 2; const traceIdIsInvalid = traceParentProperties[1] === '00000000000000000000000000000000'; const parentIdIsInvalid = traceParentProperties[2] === '0000000000000000'; return versionHasTheWrongSize || traceIdHasTheWrongSize || parentIdHasTheWrongSize || traceFlagsHaveTheWrongSize || traceIdIsInvalid || parentIdIsInvalid ? null : { version: traceParentProperties[0], traceId: traceParentProperties[1], parentId: traceParentProperties[2], traceFlags: traceParentProperties[3] }; } exports.parseTraceParentHeader = parseTraceParentHeader; //# sourceMappingURL=logic.js.map