summarizeMultipart function
Generates a standardized, human-readable summary of multipart fields and files without consuming or buffering file streams.
Implementation
Uint8List summarizeMultipart({
Iterable<MapEntry<String, String>> fields = const [],
Iterable<MultipartFileInfo> files = const [],
}) {
final parts = <String>[];
for (final field in fields) {
parts.add('[field] ${field.key}=${field.value}');
}
for (final file in files) {
final ct = file.contentType ?? 'application/octet-stream';
final name = file.filename ?? 'blob';
final size = file.length != null ? ', ${file.length} bytes' : '';
parts.add('[file] ${file.field}: $name ($ct$size)');
}
return utf8.encode(parts.join('\n'));
}