formData method

Future<Response> formData(
  1. Uri url, {
  2. Map<String, dynamic>? params,
  3. Map<String, dynamic>? files,
  4. Map<String, String>? headers,
  5. Object? body,
  6. Encoding? encoding,
})

Implementation

Future<Response> formData(Uri url,
    {Map<String, dynamic>? params,
    Map<String, dynamic>? files,
    Map<String, String>? headers,
    Object? body,
    Encoding? encoding}) async {
  var request = MultipartRequest("POST", _fixUrl(url, params));

  request.headers.addAll(_generateHeaders(headers));

  if (body is Map<String, dynamic>) {
    body.forEach((key, value) {
      request.fields[key] = "$value";
    });
  }

  if (files is Map<String, dynamic>) {
    files.forEach((key, value) async {
      request.files.add(await http.MultipartFile.fromPath(key, value));
    });
  }

  var response = await request.send();
  var responsed = await http.Response.fromStream(response);

  _interceptResponse(responsed);

  return responsed;
}