parseContentDisposition method
Implementation
Map<String, String> parseContentDisposition(String? contentDisposition) {
final output = <String, String>{};
final pattern = RegExp('"(.+)"');
if (contentDisposition == null) {
return output;
}
final params = <String>[];
for (final entry in contentDisposition.split(';')) {
if (entry.contains('=')) {
final parsed = entry.split('=');
final key = parsed.first.trim();
if (pattern.hasMatch(parsed.last)) {
output[key] = pattern.firstMatch(parsed.last)!.group(1)!;
} else {
output[key] = parsed.last.trim();
}
} else {
params.add(entry);
}
}
output['params'] = params.join(',');
return output;
}