@@ -68,7 +68,11 @@ export function addTracePropagationHeadersToOutgoingRequest(
6868
6969 const hasExistingSentryTraceHeader = ! ! request . getHeader ( 'sentry-trace' ) ;
7070
71- if ( sentryTrace && ! hasExistingSentryTraceHeader ) {
71+ if ( hasExistingSentryTraceHeader ) {
72+ return ;
73+ }
74+
75+ if ( sentryTrace ) {
7276 try {
7377 request . setHeader ( 'sentry-trace' , sentryTrace ) ;
7478 DEBUG_BUILD && debug . log ( LOG_PREFIX , 'Added sentry-trace header to outgoing request' ) ;
@@ -82,7 +86,7 @@ export function addTracePropagationHeadersToOutgoingRequest(
8286 }
8387 }
8488
85- if ( traceparent && ! hasExistingSentryTraceHeader && ! request . getHeader ( 'traceparent' ) ) {
89+ if ( traceparent && ! request . getHeader ( 'traceparent' ) ) {
8690 try {
8791 request . setHeader ( 'traceparent' , traceparent ) ;
8892 DEBUG_BUILD && debug . log ( LOG_PREFIX , 'Added traceparent header to outgoing request' ) ;
@@ -96,23 +100,9 @@ export function addTracePropagationHeadersToOutgoingRequest(
96100 }
97101 }
98102
99- if ( baggage && ! hasExistingSentryTraceHeader ) {
103+ if ( baggage ) {
100104 const existingBaggage = request . getHeader ( 'baggage' ) ;
101-
102- let cleanedExistingBaggage = existingBaggage ;
103-
104- // In the edge case that a baggage header with sentry- keys was added
105- // BUT NO sentry-trace header, we overwrite the sentry- keys in the header we attach.
106- // Therefore, we clean the existing baggage header of all sentry- keys.
107- if ( existingBaggage ) {
108- const tmpBaggage = parseBaggageHeader ( existingBaggage ) ;
109- const baggageWithoutSentry = tmpBaggage
110- ? Object . fromEntries ( Object . entries ( tmpBaggage ) . filter ( ( [ key ] ) => ! key . startsWith ( SENTRY_BAGGAGE_KEY_PREFIX ) ) )
111- : { } ;
112- cleanedExistingBaggage = objectToBaggageHeader ( baggageWithoutSentry ) ;
113- }
114-
115- const newBaggage = mergeBaggageHeaders ( cleanedExistingBaggage , baggage ) ;
105+ const newBaggage = mergeBaggageHeaders ( existingBaggage , baggage ) ;
116106 if ( newBaggage ) {
117107 try {
118108 request . setHeader ( 'baggage' , newBaggage ) ;
0 commit comments