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();
}