@@ -11,7 +11,14 @@ import {
11
11
SessionEnvelope ,
12
12
SessionItem ,
13
13
} from '@sentry/types' ;
14
- import { BaggageObj , createBaggage , createEnvelope , dsnToString , serializeBaggage } from '@sentry/utils' ;
14
+ import {
15
+ BaggageObj ,
16
+ createBaggage ,
17
+ createEnvelope ,
18
+ dsnToString ,
19
+ dropUndefinedKeys ,
20
+ serializeBaggage ,
21
+ } from '@sentry/utils' ;
15
22
16
23
/** Extract sdk info from from the API metadata */
17
24
function getSdkMetadataForEnvelopeHeader ( metadata ?: SdkMetadata ) : SdkInfo | undefined {
@@ -110,18 +117,20 @@ export function createEventEnvelope(
110
117
} ;
111
118
112
119
if ( eventType === 'transaction' ) {
113
- const baggage = createBaggage ( {
114
- environment : event . environment ,
115
- release : event . release ,
116
- transaction : event . transaction ,
117
- userid : event . user && event . user . id ,
118
- // TODO user.segment currently doesn't exist explicitly in interface User (just as a record key)
119
- usersegment : event . user && event . user . segment ,
120
- } as BaggageObj ) ;
120
+ const baggage = dropUndefinedKeys (
121
+ createBaggage ( {
122
+ environment : event . environment && event . environment ,
123
+ release : event . release ,
124
+ transaction : event . transaction ,
125
+ userid : event . user && event . user . id ,
126
+ // TODO user.segment currently doesn't exist explicitly in interface User (just as a record key)
127
+ usersegment : event . user && event . user . segment ,
128
+ } as BaggageObj ) ,
129
+ ) ;
121
130
122
131
envelopeHeaders = {
123
132
...envelopeHeaders ,
124
- baggage : serializeBaggage ( baggage ) ,
133
+ ... ( Object . keys ( baggage [ 0 ] ) . length > 0 && { baggage : serializeBaggage ( baggage ) } ) ,
125
134
} ;
126
135
}
127
136
0 commit comments