diff --git a/src/commands.rs b/src/commands.rs index 0ed6a12..08df150 100644 --- a/src/commands.rs +++ b/src/commands.rs @@ -279,7 +279,7 @@ pub async fn fetch( if headers.contains_key(header::RANGE) { // https://fetch.spec.whatwg.org/#http-network-or-cache-fetch step 18 - // If httpRequest’s header list contains `Range`, then append (`Accept-Encoding`, `identity`) + // If httpRequest's header list contains `Range`, then append (`Accept-Encoding`, `identity`) headers.append(header::ACCEPT_ENCODING, HeaderValue::from_str("identity")?); } @@ -290,10 +290,13 @@ pub async fn fetch( // ensure we have an Origin header set if cfg!(not(feature = "unsafe-headers")) || !headers.contains_key(header::ORIGIN) { if let Ok(url) = webview.url() { - headers.append( - header::ORIGIN, - HeaderValue::from_str(&url.origin().ascii_serialization())?, - ); + // The url crate returns OpaqueOrigin for tauri://localhost which serializes to "null" + let origin = if url.scheme() == "tauri" { + "tauri://localhost".to_string() + } else { + url.origin().ascii_serialization() + }; + headers.append(header::ORIGIN, HeaderValue::from_str(&origin)?); } }