dvEncodeMultipartFields function
A multipart/form-data body of plain fields, with no file part.
dvEncodeMultipartBody always writes a file; a generated form post usually has none, and an empty file part is not the same message.
Implementation
List<int> dvEncodeMultipartFields({
required String boundary,
required Map<String, String> fields,
}) {
final builder = BytesBuilder();
void writeLine(String text) => builder.add(utf8.encode('$text\r\n'));
for (final entry in fields.entries) {
writeLine('--$boundary');
writeLine('content-disposition: form-data; name="${entry.key}"');
writeLine('');
writeLine(entry.value);
}
writeLine('--$boundary--');
return builder.takeBytes();
}