// @flow
// Copyright (c) 2017 The Jaeger Authors
//
// Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except
// in compliance with the License. You may obtain a copy of the License at
//
// http://www.apache.org/licenses/LICENSE-2.0
//
// Unless required by applicable law or agreed to in writing, software distributed under the License
// is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express
// or implied. See the License for the specific language governing permissions and limitations under
// the License.
/**
* Parses a comma separated key=value pair list and add the results to `baggage`.
* E.g. "key1=value1, key2=value2, key3=value3"
* is converted to map[string]string { "key1" : "value1",
* "key2" : "value2",
* "key3" : "value3" }
*
* @param {any} baggage- the object container to accept the parsed key=value pairs
* @param {string} values - the string value containing any key=value pairs
* to parse
*/
export function parseCommaSeparatedBaggage(baggage: any, values: string): void {
values.split(',').forEach(keyVal => {
let splitKeyVal: Array<string> = keyVal.trim().split('=');
if (splitKeyVal.length == 2) {
baggage[splitKeyVal[0]] = splitKeyVal[1];
}
});
}
|