mirror of
https://github.com/tauri-apps/tauri.git
synced 2026-04-05 10:13:00 +02:00
fix(core): wrong Content-Type when using reqwest's multipart, ref #4312
This commit is contained in:
5
.changes/fix-reqwest-multipart.md
Normal file
5
.changes/fix-reqwest-multipart.md
Normal file
@@ -0,0 +1,5 @@
|
||||
---
|
||||
"tauri": patch
|
||||
---
|
||||
|
||||
Fixes the `Content-Type` header value when sending multipart requests using the `reqwest-client` feature.
|
||||
@@ -238,7 +238,7 @@ impl Client {
|
||||
/// Executes an HTTP request
|
||||
///
|
||||
/// # Examples
|
||||
pub async fn send(&self, request: HttpRequestBuilder) -> crate::api::Result<Response> {
|
||||
pub async fn send(&self, mut request: HttpRequestBuilder) -> crate::api::Result<Response> {
|
||||
let method = Method::from_bytes(request.method.to_uppercase().as_bytes())?;
|
||||
|
||||
let mut request_builder = self.0.request(method, request.url.as_str());
|
||||
@@ -260,7 +260,7 @@ impl Client {
|
||||
#[allow(unused_variables)]
|
||||
fn send_form(
|
||||
request_builder: reqwest::RequestBuilder,
|
||||
headers: &Option<HeaderMap>,
|
||||
headers: &mut Option<HeaderMap>,
|
||||
form_body: FormBody,
|
||||
) -> crate::api::Result<reqwest::RequestBuilder> {
|
||||
#[cfg(feature = "http-multipart")]
|
||||
@@ -271,6 +271,8 @@ impl Client {
|
||||
.map(|v| v.as_bytes()),
|
||||
Some(b"multipart/form-data")
|
||||
) {
|
||||
// the Content-Type header will be set by reqwest in the `.multipart` call
|
||||
headers.as_mut().map(|h| h.0.remove("content-type"));
|
||||
let mut multipart = reqwest::multipart::Form::new();
|
||||
|
||||
for (name, part) in form_body.0 {
|
||||
@@ -311,7 +313,7 @@ impl Client {
|
||||
}
|
||||
Ok(request_builder.form(&form))
|
||||
}
|
||||
send_form(request_builder, &request.headers, form_body)?
|
||||
send_form(request_builder, &mut request.headers, form_body)?
|
||||
}
|
||||
};
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user