summarizeMultipart function

Uint8List summarizeMultipart({
  1. Iterable<MapEntry<String, String>> fields = const [],
  2. Iterable<MultipartFileInfo> files = const [],
})

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