withCallHeaders function

Map<String, String> withCallHeaders(
  1. Map<String, String> headers,
  2. Map<String, String> extra
)

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;
}