mirror of
https://github.com/foss42/apidash.git
synced 2025-05-28 20:27:04 +08:00
Template Completed
This commit is contained in:
@ -1,3 +1,5 @@
|
|||||||
|
import 'dart:convert';
|
||||||
|
|
||||||
import 'package:jinja/jinja.dart' as jj;
|
import 'package:jinja/jinja.dart' as jj;
|
||||||
import '../../models/request_model.dart';
|
import '../../models/request_model.dart';
|
||||||
import '../../utils/har_utils.dart';
|
import '../../utils/har_utils.dart';
|
||||||
@ -31,7 +33,22 @@ class Program
|
|||||||
""";
|
""";
|
||||||
|
|
||||||
String kTemplateParams = """
|
String kTemplateParams = """
|
||||||
request.AddParameter("{{param}}", "{{value}}");
|
request.AddQueryParameter("{{param}}", "{{value}}");
|
||||||
|
""";
|
||||||
|
String kTemplateHeaders = """
|
||||||
|
request.AddHeader("{{header}}", "{{value}}");
|
||||||
|
""";
|
||||||
|
String kTemplateFormData = """
|
||||||
|
request.AddFile("{{name}}", "{{value}}");
|
||||||
|
|
||||||
|
""";
|
||||||
|
String kTemplateJsonData = """
|
||||||
|
var jsonBody = new {{jsonData}};
|
||||||
|
request.AddJsonBody(jsonBody);
|
||||||
|
""";
|
||||||
|
String kTemplateTextData = """
|
||||||
|
var textBody = "{{textData}}";
|
||||||
|
request.AddStringBody(textBody);
|
||||||
""";
|
""";
|
||||||
|
|
||||||
String kStringEnd = """
|
String kStringEnd = """
|
||||||
@ -78,7 +95,7 @@ class Program
|
|||||||
|
|
||||||
var params = harJson["queryString"];
|
var params = harJson["queryString"];
|
||||||
if (params.isNotEmpty) {
|
if (params.isNotEmpty) {
|
||||||
var templateParams = jj.Template(kTemplateParams);
|
jj.Template templateParams = jj.Template(kTemplateParams);
|
||||||
String paramsResult = "";
|
String paramsResult = "";
|
||||||
for (var query in params) {
|
for (var query in params) {
|
||||||
paramsResult += templateParams
|
paramsResult += templateParams
|
||||||
@ -88,6 +105,57 @@ class Program
|
|||||||
result += kStringLineBreak;
|
result += kStringLineBreak;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
var headers = harJson["headers"];
|
||||||
|
if (headers.isNotEmpty) {
|
||||||
|
jj.Template templateHeaders = jj.Template(kTemplateHeaders);
|
||||||
|
String headersResult = "";
|
||||||
|
for (var header in headers) {
|
||||||
|
headersResult += templateHeaders
|
||||||
|
.render({"header": header["name"], "value": header["value"]});
|
||||||
|
}
|
||||||
|
result += headersResult;
|
||||||
|
result += kStringLineBreak;
|
||||||
|
}
|
||||||
|
print(requestModel.formDataMapList);
|
||||||
|
print("hi");
|
||||||
|
print(requestModel.formDataList);
|
||||||
|
if (requestModel.hasFormData) {
|
||||||
|
jj.Template templateFormData = jj.Template(kTemplateFormData);
|
||||||
|
String formDataResult = "";
|
||||||
|
requestModel.formDataMapList.forEach((data) {
|
||||||
|
formDataResult += templateFormData.render({
|
||||||
|
"name": data["name"],
|
||||||
|
"value": data["value"],
|
||||||
|
});
|
||||||
|
});
|
||||||
|
result += formDataResult;
|
||||||
|
result += kStringLineBreak;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (requestModel.hasJsonData) {
|
||||||
|
var templateJsonData = jj.Template(kTemplateJsonData);
|
||||||
|
Map<String, dynamic> bodyData = json.decode(requestModel.requestBody!);
|
||||||
|
String jsonDataResult = "{\n";
|
||||||
|
|
||||||
|
bodyData.forEach((key, value) {
|
||||||
|
jsonDataResult += "\t\t\t\t\t$key = \"$value\",\n";
|
||||||
|
});
|
||||||
|
jsonDataResult = jsonDataResult.length >= 3
|
||||||
|
? jsonDataResult.substring(0, jsonDataResult.length - 2)
|
||||||
|
: jsonDataResult;
|
||||||
|
jsonDataResult += "\n\t\t\t\t\t}";
|
||||||
|
|
||||||
|
result += templateJsonData.render({"jsonData": jsonDataResult});
|
||||||
|
result += kStringLineBreak;
|
||||||
|
}
|
||||||
|
|
||||||
|
if (requestModel.hasTextData) {
|
||||||
|
jj.Template templateTextData = jj.Template(kTemplateTextData);
|
||||||
|
result +=
|
||||||
|
templateTextData.render({"textData": requestModel.requestBody});
|
||||||
|
result += kStringLineBreak;
|
||||||
|
}
|
||||||
|
|
||||||
result += kStringEnd;
|
result += kStringEnd;
|
||||||
return result;
|
return result;
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
|
Reference in New Issue
Block a user