@@ -37,14 +37,16 @@ let multipartFormData = try! MultipartFormData(boundary: boundary) {
37
37
''' ;
38
38
39
39
final String kTemplateJsonData = '''
40
- let parameters = "{{jsonData}}"
41
- let postData = parameters.data(using: .utf8)
40
+ let postData = """
41
+ {{jsonData}}
42
+ """.data(using: .utf8)
42
43
43
44
''' ;
44
45
45
46
final String kTemplateTextData = '''
46
- let parameters = "{{textData}}"
47
- let postData = parameters.data(using: .utf8)
47
+ let postData = """
48
+ {{textData}}
49
+ """.data(using: .utf8)
48
50
49
51
''' ;
50
52
@@ -61,8 +63,12 @@ request.addValue("{{value}}", forHTTPHeaderField: "{{header}}")
61
63
62
64
""" ;
63
65
64
- final String kTemplateBody = """
66
+ final String kTemplateFormDataBody = """
65
67
request.httpBody = try! multipartFormData.encode()
68
+ """ ;
69
+
70
+ final String kTemplateJsonTextBody = """
71
+ request.httpBody = postData
66
72
67
73
""" ;
68
74
@@ -95,20 +101,17 @@ semaphore.wait()
95
101
try {
96
102
String result = kTemplateStart;
97
103
98
- if (requestModel.hasFormData) {
99
- result += kTemplateFormDataImport;
100
- }
101
-
102
- var rec =
103
- getValidRequestUri (requestModel.url, requestModel.enabledParams);
104
+ var rec = getValidRequestUri (requestModel.url, requestModel.enabledParams);
104
105
Uri ? uri = rec.$1;
105
106
106
107
if (requestModel.hasFormData) {
108
+ result += kTemplateFormDataImport;
109
+
107
110
var formDataList = requestModel.formDataMapList.map ((param) {
108
111
if (param['type' ] == 'file' ) {
109
112
final filePath = param['value' ] as String ;
110
113
final fileName = path.basename (filePath);
111
- final fileExtension =
114
+ final fileExtension =
112
115
path.extension (fileName).toLowerCase ().replaceFirst ('.' , '' );
113
116
return {
114
117
'type' : 'file' ,
@@ -130,17 +133,19 @@ semaphore.wait()
130
133
result += templateFormData.render ({
131
134
"formData" : formDataList,
132
135
});
133
- } else if (requestModel.hasJsonData) {
136
+ }
137
+ // Handle JSON data
138
+ else if (requestModel.hasJsonData) {
134
139
var templateJsonData = jj.Template (kTemplateJsonData);
135
140
result += templateJsonData.render ({
136
- "jsonData" :
137
- requestModel.body! .replaceAll ('"' , '\\ "' ).replaceAll ('\n ' , '\\ n' ),
138
- });
139
- } else if (requestModel.hasTextData) {
141
+ "jsonData" : requestModel.body!
142
+ });
143
+ }
144
+ // Handle text data
145
+ else if (requestModel.hasTextData) {
140
146
var templateTextData = jj.Template (kTemplateTextData);
141
147
result += templateTextData.render ({
142
- "textData" :
143
- requestModel.body! .replaceAll ('"' , '\\ "' ).replaceAll ('\n ' , '\\ n' ),
148
+ "textData" : requestModel.body!
144
149
});
145
150
}
146
151
@@ -152,19 +157,21 @@ semaphore.wait()
152
157
153
158
var headers = requestModel.enabledHeadersMap;
154
159
if (requestModel.hasFormData) {
155
- headers. putIfAbsent ( " Content-Type" ,
156
- () => "multipart/form-data; boundary=\\ (boundary.stringValue)" ) ;
157
- } else if (requestModel.hasJsonData || requestModel.hasTextData) {
158
- headers. putIfAbsent (
159
- kHeaderContentType, () => requestModel.bodyContentType.header);
160
- }
160
+ headers[ ' Content-Type' ] =
161
+ "multipart/form-data; boundary=\\ (boundary.stringValue)" ;
162
+ } else if (requestModel.hasJsonData|| requestModel.hasTextData){
163
+ headers[ 'Content-Type' ] = 'application/json' ;
164
+ }
165
+
161
166
if (headers.isNotEmpty) {
162
167
var templateHeader = jj.Template (kTemplateHeaders);
163
168
result += templateHeader.render ({"headers" : headers});
164
169
}
165
170
166
- if (requestModel.hasFormData || requestModel.hasBody) {
167
- result += kTemplateBody;
171
+ if (requestModel.hasFormData) {
172
+ result += kTemplateFormDataBody;
173
+ } else if (requestModel.hasJsonData || requestModel.hasTextData) {
174
+ result += kTemplateJsonTextBody;
168
175
}
169
176
170
177
result += kTemplateEnd;
0 commit comments