Update curl.dart

This commit is contained in:
Ankit Mahato
2024-03-12 05:20:15 +05:30
parent 11a38fcb54
commit e4f0633eca

View File

@ -21,18 +21,14 @@ class cURLCodeGen {
String? getCode(
RequestModel requestModel,
String defaultUriScheme,
) {
try {
String result = "";
String url = requestModel.url;
if (!url.contains("://") && url.isNotEmpty) {
url = "$defaultUriScheme://$url";
}
var rM = requestModel.copyWith(url: url);
var harJson = requestModelToHARJsonRequest(rM, useEnabled: true);
var harJson = requestModelToHARJsonRequest(
requestModel,
useEnabled: true,
);
var templateStart = jj.Template(kTemplateStart);
result += templateStart.render({
@ -47,37 +43,31 @@ class cURLCodeGen {
var headers = harJson["headers"];
if (headers.isNotEmpty) {
for (var item in headers) {
if (requestModel.hasFormData && item["name"] == kHeaderContentType) {
continue;
}
var templateHeader = jj.Template(kTemplateHeader);
result += templateHeader
.render({"name": item["name"], "value": item["value"]});
}
}
var method = requestModel.method;
if (kMethodsWithBody.contains(method)) {
if (harJson['formData'] != null) {
var formDataList = harJson['formData'] as List<Map<String, dynamic>>;
for (var formData in formDataList) {
var templateFormData = jj.Template(kTemplateFormData);
if (formData['type'] != null &&
formData['name'] != null &&
formData['value'] != null &&
formData['name']!.isNotEmpty &&
formData['value']!.isNotEmpty) {
result += templateFormData.render({
"name": formData["name"],
"value":
"${formData['type'] == 'file' ? '@' : ''}${formData["value"]}",
});
}
if (requestModel.hasJsonData || requestModel.hasTextData) {
var templateBody = jj.Template(kTemplateBody);
result += templateBody.render({"body": requestModel.requestBody});
} else if (requestModel.hasFormData) {
for (var formData in requestModel.formDataList) {
var templateFormData = jj.Template(kTemplateFormData);
if (formData.name.isNotEmpty && formData.value.isNotEmpty) {
result += templateFormData.render({
"name": formData.name,
"value":
"${formData.type == FormDataType.file ? '@' : ''}${formData.value}",
});
}
}
if (harJson["postData"]?["text"] != null) {
var templateBody = jj.Template(kTemplateBody);
result += templateBody.render({"body": harJson["postData"]["text"]});
}
}
return result;
} catch (e) {
return null;