splitAuthenticateHeader function

Map<String, String>? splitAuthenticateHeader(
  1. String header
)

Implementation

Map<String, String>? splitAuthenticateHeader(String header) {
  if (!header.startsWith('Digest ')) {
    return null;
  }
  header = header.substring(7); // remove 'Digest '

  var ret = <String, String>{};

  final components = header.split(',').map((token) => token.trim());
  for (var component in components) {
    final kv = component.split('=');
    ret[kv[0]] = kv.getRange(1, kv.length).join('=').replaceAll('"', '');
  }
  return ret;
}