withCallHeaders function
Adds extra to headers without replacing a header the SDK set (compared without regard to case).
Implementation
Map<String, String> withCallHeaders(Map<String, String> headers, Map<String, String> extra) {
final taken = headers.keys.map((k) => k.toLowerCase()).toSet();
extra.forEach((name, value) {
if (!taken.contains(name.toLowerCase())) headers[name] = value;
});
return headers;
}