createCurlCommand method
Implementation
String createCurlCommand(String url, String method,
{String? body,
Map<String, dynamic>? headers,
Map<String, dynamic>? queryParams,
FormData? formData}) {
final curl = StringBuffer('curl');
curl.write(' -X "$method" ');
curl.write(url);
/// Add headers to cURL
if (headers != null && headers.isNotEmpty) {
for (final entry in headers.entries) {
curl.write(' -H "${entry.key}: ${entry.value.toString()}"');
}
}
/// Add query params to cURL
if (queryParams != null && queryParams.isNotEmpty) {
final params = queryParams.entries
.map((entry) => '${entry.key}=${entry.value.toString()}')
.join('&');
curl.write(' -G "$params"');
}
/// Add body to cURL
if (body != null && body.isNotEmpty && formData == null) {
curl.write(' -d "${jsonEncode(body)}"');
}
if (formData != null) {
for (var field in formData.fields) {
curl.write(" -F '${field.key}=${field.value}'");
}
for (var file in formData.files) {
final filename = file.value.filename ?? 'file';
curl.write(" -F '${file.key}=@$filename'");
}
}
return curl.toString();
}