addBaggageHeader function
Implementation
void addBaggageHeader(
SentryBaggageHeader baggage,
Map<String, dynamic> headers,
) {
final currentValue = headers[baggage.name] as String? ?? '';
final currentBaggage = SentryBaggage.fromHeader(currentValue);
final sentryBaggage = SentryBaggage.fromHeader(baggage.value);
// overwrite sentry's keys https://develop.sentry.dev/sdk/performance/dynamic-sampling-context/#baggage
final filteredBaggageHeader = Map.from(currentBaggage.keyValues);
filteredBaggageHeader.removeWhere((key, value) => key.startsWith('sentry-'));
final mergedBaggage = <String, String>{
...filteredBaggageHeader,
...sentryBaggage.keyValues,
};
final newBaggage = SentryBaggage(mergedBaggage);
headers[baggage.name] = newBaggage.toHeaderString();
}