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