mergeW3CBaggageHeader function
String
mergeW3CBaggageHeader(
- TracingContext context,
- String? baggageHeader, [
- InternalLogger? logger
Implementation
String mergeW3CBaggageHeader(
TracingContext context,
String? baggageHeader, [
InternalLogger? logger,
]) {
final effectiveLogger = logger ?? DatadogSdk.instance.internalLogger;
baggageHeader ??= '';
Map<String, String> baggageValueMap = _deconstructBaggageHeader(
baggageHeader,
effectiveLogger,
);
if (context.rumSessionId case final sessionId?) {
baggageValueMap[W3CHeadersBaggageKeys.sessionId] = _encodeBaggageValue(
sessionId,
);
}
if (context.userId case final userId?) {
baggageValueMap[W3CHeadersBaggageKeys.userId] = _encodeBaggageValue(userId);
}
if (context.accountId case final accountId?) {
baggageValueMap[W3CHeadersBaggageKeys.accountId] = _encodeBaggageValue(
accountId,
);
}
return _constructBaggageHeader(baggageValueMap, effectiveLogger);
}