build method

(Uint8List, int) build()

Assembles the body and returns the raw bytes + total length.

Implementation

(Uint8List body, int length) build() {
  final buffer = BytesBuilder();
  const lineEnd = '\r\n';

  for (final part in _parts) {
    buffer.add('--$boundary$lineEnd'.codeUnits);
    buffer.add(part.headers.codeUnits);
    buffer.add(lineEnd.codeUnits);
    buffer.add(part.data);
    buffer.add(lineEnd.codeUnits);
  }

  buffer.add('--$boundary--$lineEnd'.codeUnits);
  final body = buffer.toBytes();
  return (body, body.length);
}