multipartRequest method
Sends an HTTP Multipart request with the UrlRequest object waiting for a 200 status code.
Implementation
Future<dynamic> multipartRequest(MultipartUrlRequest request) async {
final multipartRequest =
http.MultipartRequest(request.method.name, request.url);
request.fieldsMultipart?.forEach((key, value) {
multipartRequest.fields[key] = value;
});
request.filesMultipart?.forEach((key, value) async => multipartRequest.files
.add(await http.MultipartFile.fromPath(key, value)));
final streamedResponse = await multipartRequest.send();
var response = await http.Response.fromStream(streamedResponse);
if (response.statusCode == 200) {
try {
return jsonDecode(response.body);
} catch (error) {
return Future.error(error);
}
} else {
return Future.error(
"The server return a ${response.statusCode} status code");
}
}