From 1c5df96fe8542e815cd887e66c29efb268add710 Mon Sep 17 00:00:00 2001 From: M Date: Fri, 11 Jul 2025 03:22:46 -0700 Subject: [PATCH] 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 --- .changes/proxy-body.md | 5 +++++ crates/tauri/src/protocol/tauri.rs | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) create mode 100644 .changes/proxy-body.md diff --git a/.changes/proxy-body.md b/.changes/proxy-body.md new file mode 100644 index 000000000..062f15c64 --- /dev/null +++ b/.changes/proxy-body.md @@ -0,0 +1,5 @@ +--- +"tauri": patch:bug +--- + +Forward request body on the mobile frontend proxy. diff --git a/crates/tauri/src/protocol/tauri.rs b/crates/tauri/src/protocol/tauri.rs index 14f91a34a..64572bdad 100644 --- a/crates/tauri/src/protocol/tauri.rs +++ b/crates/tauri/src/protocol/tauri.rs @@ -69,7 +69,7 @@ pub fn get( } fn get_response( - request: Request>, + #[allow(unused_mut)] mut request: Request>, #[allow(unused_variables)] manager: &AppManager, window_origin: &str, web_resource_request_handler: Option<&WebResourceRequestHandler>, @@ -118,9 +118,11 @@ fn get_response( .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();