1import { assert, it } from "@effect/vitest"
2import { ConfigProvider, Effect } from "effect"
3import * as OtlpEnv from "effect/observability/internal/otlpEnv"
4
5it.effect("decodes percent-encoded OTLP header values", () =>
6 Effect.gen(function*() {
7 const headers = yield* OtlpEnv.headers("TRACES").parse(
8 ConfigProvider.fromEnv({
9 env: {
10 OTEL_EXPORTER_OTLP_TRACES_HEADERS: "authorization=Bearer%20token,x-comma=comma%2Cvalue"
11 }
12 })
13 )
14
15 assert.deepStrictEqual(headers, {
16 authorization: "Bearer token",
17 "x-comma": "comma,value"
18 })
19 }))