mirror of
https://github.com/foss42/apidash.git
synced 2025-06-10 07:09:41 +08:00
Update curl.dart
This commit is contained in:
@ -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;
|
||||||
|
Reference in New Issue
Block a user