@@ -20,20 +20,35 @@ extension MultipartRequestCopyWith on MultipartRequest {
2020 ..headers.addAll (headers ?? this .headers)
2121 ..fields.addAll (fields ?? this .fields);
2222
23- for (var file in this .files) {
24- clonedRequest.files.add (MultipartFile (
25- file.field,
26- file.finalize (),
27- file.length,
28- filename: file.filename,
29- contentType: file.contentType,
30- ));
23+ // Copy files from original request if no new files provided
24+ if (files == null ) {
25+ for (var file in this .files) {
26+ clonedRequest.files.add (MultipartFile (
27+ file.field,
28+ file.finalize (),
29+ file.length,
30+ filename: file.filename,
31+ contentType: file.contentType,
32+ ));
33+ }
34+ } else {
35+ // Use the provided files
36+ for (var file in files) {
37+ clonedRequest.files.add (MultipartFile (
38+ file.field,
39+ file.finalize (),
40+ file.length,
41+ filename: file.filename,
42+ contentType: file.contentType,
43+ ));
44+ }
3145 }
3246
33- this .persistentConnection =
47+ // Set properties on the cloned request, not the original
48+ clonedRequest.persistentConnection =
3449 persistentConnection ?? this .persistentConnection;
35- this .followRedirects = followRedirects ?? this .followRedirects;
36- this .maxRedirects = maxRedirects ?? this .maxRedirects;
50+ clonedRequest .followRedirects = followRedirects ?? this .followRedirects;
51+ clonedRequest .maxRedirects = maxRedirects ?? this .maxRedirects;
3752
3853 return clonedRequest;
3954 }
0 commit comments