support for multipart request body

This commit is contained in:
Aditya Mayukh Som
2024-03-24 18:55:31 +05:30
parent 7173c202c5
commit af4f072bd0

View File

@ -230,18 +230,39 @@ public class Main {
if (requestModel.hasFormData && if (requestModel.hasFormData &&
requestModel.formDataMapList.isNotEmpty && requestModel.formDataMapList.isNotEmpty &&
kMethodsWithBody.contains(method)) { kMethodsWithBody.contains(method)) {
// including form data into the request
var formDataList = requestModel.formDataMapList; var formDataList = requestModel.formDataMapList;
var templateRequestFormData = jj.Template(kTemplateRequestFormData);
for (var formDataMap in formDataList) { int textCount = 0;
result += templateRequestFormData.render( for (var formData in formDataList) {
{"name": formDataMap['name'], "value": formDataMap['value']}); if (formData["type"] == "text") {
textCount++;
}
}
if (textCount > 0) {
var templateRequestFormData = jj.Template(
(requestModel.hasFileInFormData)
? kTemplateMultipartTextFormData
: kTemplateSimpleTextFormData);
result += templateRequestFormData.render({
"params": formDataList, //
});
}
if (requestModel.hasFileInFormData) {
var templateFileHandling =
jj.Template(kTemplateMultipartFileHandling);
result += templateFileHandling.render({
"fields": formDataList,
});
} }
hasBody = true;
} }
var templateRequestBodySetup = jj.Template(kTemplateRequestBodySetup); var templateRequestBodySetup = jj.Template(kTemplateRequestBodySetup);
if (kMethodsWithBody.contains(method) && hasBody) { if (kMethodsWithBody.contains(method) &&
hasBody &&
!requestModel.hasFormData) {
result += templateRequestBodySetup.render(); result += templateRequestBodySetup.render();
} }