Skip to content

Commit fc2295b

Browse files
committed
Fixes #22900
1 parent 59042aa commit fc2295b

1 file changed

Lines changed: 27 additions & 5 deletions

File tree

  • modules/openapi-generator/src/main/resources/rust/reqwest

modules/openapi-generator/src/main/resources/rust/reqwest/api.mustache

Lines changed: 27 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -422,19 +422,41 @@ pub {{#supportAsync}}async {{/supportAsync}}fn {{{operationId}}}(configuration:
422422
{{#supportAsync}}
423423
{{^required}}
424424
if let Some(ref param_value) = {{{vendorExtensions.x-rust-param-identifier}}} {
425-
let file = TokioFile::open(param_value).await?;
425+
{{#isArray}}
426+
for value in param_value {
427+
let file = TokioFile::open(value).await?;
428+
let stream = FramedRead::new(file, BytesCodec::new());
429+
let file_name = value.file_name().map(|n| n.to_string_lossy().to_string()).unwrap_or_default();
430+
let file_part = reqwest::multipart::Part::stream(reqwest::Body::wrap_stream(stream)).file_name(file_name);
431+
multipart_form = multipart_form.part("{{{baseName}}}", file_part);
432+
}
433+
{{/isArray}}
434+
{{^isArray}}
435+
let file = TokioFile::open(param_value).await?;
436+
let stream = FramedRead::new(file, BytesCodec::new());
437+
let file_name = param_value.file_name().map(|n| n.to_string_lossy().to_string()).unwrap_or_default();
438+
let file_part = reqwest::multipart::Part::stream(reqwest::Body::wrap_stream(stream)).file_name(file_name);
439+
multipart_form = multipart_form.part("{{{baseName}}}", file_part);
440+
{{/isArray}}
441+
}
442+
{{/required}}
443+
{{#required}}
444+
{{#isArray}}
445+
for value in &{{{vendorExtensions.x-rust-param-identifier}}} {
446+
let file = TokioFile::open(value).await?;
426447
let stream = FramedRead::new(file, BytesCodec::new());
427-
let file_name = param_value.file_name().map(|n| n.to_string_lossy().to_string()).unwrap_or_default();
448+
let file_name = value.file_name().map(|n| n.to_string_lossy().to_string()).unwrap_or_default();
428449
let file_part = reqwest::multipart::Part::stream(reqwest::Body::wrap_stream(stream)).file_name(file_name);
429450
multipart_form = multipart_form.part("{{{baseName}}}", file_part);
430451
}
431-
{{/required}}
432-
{{#required}}
433-
let file = TokioFile::open(&{{{vendorExtensions.x-rust-param-identifier}}}).await?;
452+
{{/isArray}}
453+
{{^isArray}}
454+
let file = TokioFile::open({{{vendorExtensions.x-rust-param-identifier}}}).await?;
434455
let stream = FramedRead::new(file, BytesCodec::new());
435456
let file_name = {{{vendorExtensions.x-rust-param-identifier}}}.file_name().map(|n| n.to_string_lossy().to_string()).unwrap_or_default();
436457
let file_part = reqwest::multipart::Part::stream(reqwest::Body::wrap_stream(stream)).file_name(file_name);
437458
multipart_form = multipart_form.part("{{{baseName}}}", file_part);
459+
{{/isArray}}
438460
{{/required}}
439461
{{/supportAsync}}
440462
{{/isFile}}

0 commit comments

Comments
 (0)