multipartData method
Implementation
Stream<HttpMultiPartData> multipartData() async* {
if (headers.contentType == null) {
throw Exception('Content-Type not found');
}
final boundary = headers.contentType!.parameters['boundary'];
if (boundary == null) {
throw Exception('Boundary not found');
}
final transformer = MimeMultipartTransformer(boundary);
final parts = await transform<MimeMultipart>(transformer.cast()).toList();
for (final part in parts) {
final contentDisposition = part.headers['content-disposition'];
part.headers.remove('content-disposition');
yield HttpMultiPartData(
{
...parseContentDisposition(contentDisposition),
...part.headers,
},
await part.fold<List<int>>([], (p, d) => [...p, ...d]),
);
}
}