Co-authored-by: Marc Pichler <marc.pichler@dynatrace.com>
This commit is contained in:
parent
3732256f02
commit
a4213183b0
|
|
@ -36,6 +36,7 @@ For experimental package changes, see the [experimental CHANGELOG](experimental/
|
|||
* fix(sdk-metrics): Update default Histogram's boundary to match OTEL's spec [#3893](https://github.com/open-telemetry/opentelemetry-js/pull/3893/) @chigia001
|
||||
* fix(sdk-metrics): preserve startTime for cumulative ExponentialHistograms [#3934](https://github.com/open-telemetry/opentelemetry-js/pull/3934/) @aabmass
|
||||
* fix(sdk-trace-web): add secureConnectionStart to https only [#3879](https://github.com/open-telemetry/opentelemetry-js/pull/3879) @Abinet18
|
||||
* fix(core): add baggage support for values containing an equals sign [#3975](https://github.com/open-telemetry/opentelemetry-js/pull/3975) @krosenk729
|
||||
|
||||
### :house: (Internal)
|
||||
|
||||
|
|
|
|||
|
|
@ -61,10 +61,14 @@ export function parsePairKeyValue(
|
|||
if (valueProps.length <= 0) return;
|
||||
const keyPairPart = valueProps.shift();
|
||||
if (!keyPairPart) return;
|
||||
const keyPair = keyPairPart.split(BAGGAGE_KEY_PAIR_SEPARATOR);
|
||||
if (keyPair.length !== 2) return;
|
||||
const key = decodeURIComponent(keyPair[0].trim());
|
||||
const value = decodeURIComponent(keyPair[1].trim());
|
||||
const separatorIndex = keyPairPart.indexOf(BAGGAGE_KEY_PAIR_SEPARATOR);
|
||||
if (separatorIndex <= 0) return;
|
||||
const key = decodeURIComponent(
|
||||
keyPairPart.substring(0, separatorIndex).trim()
|
||||
);
|
||||
const value = decodeURIComponent(
|
||||
keyPairPart.substring(separatorIndex + 1).trim()
|
||||
);
|
||||
let metadata;
|
||||
if (valueProps.length > 0) {
|
||||
metadata = baggageEntryMetadataFromString(
|
||||
|
|
|
|||
|
|
@ -181,9 +181,9 @@ describe('W3CBaggagePropagator', () => {
|
|||
|
||||
describe('.extract()', () => {
|
||||
const baggageValue =
|
||||
'key1=d4cda95b,key3=c88815a7, keyn = valn, keym =valm';
|
||||
'key1=d4cda95b==,key3=c88815a7, keyn = valn, keym =valm';
|
||||
const expected = propagation.createBaggage({
|
||||
key1: { value: 'd4cda95b' },
|
||||
key1: { value: 'd4cda95b==' },
|
||||
key3: { value: 'c88815a7' },
|
||||
keyn: { value: 'valn' },
|
||||
keym: { value: 'valm' },
|
||||
|
|
@ -217,7 +217,7 @@ describe('W3CBaggagePropagator', () => {
|
|||
|
||||
it('should extract context of a sampled span when the headerValue comes as array with multiple items', () => {
|
||||
carrier[BAGGAGE_HEADER] = [
|
||||
'key1=d4cda95b,key3=c88815a7, keyn = valn',
|
||||
'key1=d4cda95b==,key3=c88815a7, keyn = valn',
|
||||
'keym =valm',
|
||||
];
|
||||
const extractedBaggage = propagation.getBaggage(
|
||||
|
|
@ -282,10 +282,6 @@ describe('W3CBaggagePropagator', () => {
|
|||
header: '289371298nekjh2939299283jbk2b',
|
||||
baggage: undefined,
|
||||
},
|
||||
invalidDoubleEqual: {
|
||||
header: 'key1==value;key2=value2',
|
||||
baggage: undefined,
|
||||
},
|
||||
invalidWrongKeyValueFormat: {
|
||||
header: 'key1:value;key2=value2',
|
||||
baggage: undefined,
|
||||
|
|
@ -295,7 +291,7 @@ describe('W3CBaggagePropagator', () => {
|
|||
baggage: undefined,
|
||||
},
|
||||
mixInvalidAndValidKeys: {
|
||||
header: 'key1==value,key2=value2',
|
||||
header: 'key1:value,key2=value2',
|
||||
baggage: propagation.createBaggage({
|
||||
key2: {
|
||||
value: 'value2',
|
||||
|
|
|
|||
Loading…
Reference in New Issue