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