MCPcopy
hub / github.com/Effect-TS/effect / w3c

Function w3c

packages/platform/src/HttpTraceContext.ts:85–109  ·  view source on GitHub ↗
(headers)

Source from the content-addressed store, hash-verified

83 * @category decoding
84 */
85export const w3c: FromHeaders = (headers) => {
86 if (!(headers["traceparent"])) {
87 return Option.none()
88 }
89 const parts = headers["traceparent"].split("-")
90 if (parts.length !== 4) {
91 return Option.none()
92 }
93 const [version, traceId, spanId, flags] = parts
94 switch (version) {
95 case "00": {
96 if (w3cTraceId.test(traceId) === false || w3cSpanId.test(spanId) === false) {
97 return Option.none()
98 }
99 return Option.some(Tracer.externalSpan({
100 traceId,
101 spanId,
102 sampled: (parseInt(flags, 16) & 1) === 1
103 }))
104 }
105 default: {
106 return Option.none()
107 }
108 }
109}

Callers 1

fromHeadersFunction · 0.85

Calls 2

parseIntFunction · 0.85
splitMethod · 0.80

Tested by

no test coverage detected