fix(protocol): proxy body in mobile dev (#13773)

* proxy body in mobile dev

* add change file, use std::mem::take

---------

Co-authored-by: Lucas Nogueira <lucas@tauri.app>
This commit is contained in:
M 2025-07-11 03:22:46 -07:00 committed by GitHub
parent 4f96ed41ca
commit 1c5df96fe8
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
2 changed files with 8 additions and 1 deletions

5
.changes/proxy-body.md Normal file
View File

@ -0,0 +1,5 @@
---
"tauri": patch:bug
---
Forward request body on the mobile frontend proxy.

View File

@ -69,7 +69,7 @@ pub fn get<R: Runtime>(
}
fn get_response<R: Runtime>(
request: Request<Vec<u8>>,
#[allow(unused_mut)] mut request: Request<Vec<u8>>,
#[allow(unused_variables)] manager: &AppManager<R>,
window_origin: &str,
web_resource_request_handler: Option<&WebResourceRequestHandler>,
@ -118,9 +118,11 @@ fn get_response<R: Runtime>(
.build()
.unwrap()
.request(request.method().clone(), &url);
proxy_builder = proxy_builder.body(std::mem::take(request.body_mut()));
for (name, value) in request.headers() {
proxy_builder = proxy_builder.header(name, value);
}
proxy_builder = proxy_builder.body(request.body().clone());
match crate::async_runtime::safe_block_on(proxy_builder.send()) {
Ok(r) => {
let mut response_cache_ = response_cache.lock().unwrap();