mirror of
https://github.com/tauri-apps/plugins-workspace.git
synced 2026-09-30 21:59:36 +02:00
feat(http) add unsafe-headers feature flag (#1050)
* [http] add unsafe-headers feature flag * change file * fmt
This commit is contained in:
1 parent
bff722451d
commit
753c7be0a6
4 files changed
+40
-31
No files matched your search
@@ -0,0 +1,5 @@
|
|||||||
|
---
|
||||||
|
"http": patch
|
||||||
|
---
|
||||||
|
|
||||||
|
Add `unsafe-headers` cargo feature flag to allow using [forbidden headers](https://fetch.spec.whatwg.org/#terminology-headers).
|
||||||
Generated
+29
-29
@@ -230,7 +230,7 @@ checksum = "5ad32ce52e4161730f7098c077cd2ed6229b5804ccf99e5366be1ab72a98b4e1"
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "api"
|
name = "api"
|
||||||
version = "2.0.0-beta.1"
|
version = "2.0.0-beta.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"log",
|
"log",
|
||||||
"serde",
|
"serde",
|
||||||
@@ -6401,7 +6401,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tauri-plugin-authenticator"
|
name = "tauri-plugin-authenticator"
|
||||||
version = "2.0.0-beta.1"
|
version = "2.0.0-beta.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"authenticator",
|
"authenticator",
|
||||||
"base64 0.21.7",
|
"base64 0.21.7",
|
||||||
@@ -6423,7 +6423,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tauri-plugin-autostart"
|
name = "tauri-plugin-autostart"
|
||||||
version = "2.0.0-beta.1"
|
version = "2.0.0-beta.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"auto-launch",
|
"auto-launch",
|
||||||
"log",
|
"log",
|
||||||
@@ -6436,7 +6436,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tauri-plugin-barcode-scanner"
|
name = "tauri-plugin-barcode-scanner"
|
||||||
version = "2.0.0-beta.1"
|
version = "2.0.0-beta.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"log",
|
"log",
|
||||||
"serde",
|
"serde",
|
||||||
@@ -6448,7 +6448,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tauri-plugin-biometric"
|
name = "tauri-plugin-biometric"
|
||||||
version = "2.0.0-beta.1"
|
version = "2.0.0-beta.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"log",
|
"log",
|
||||||
"serde",
|
"serde",
|
||||||
@@ -6461,7 +6461,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tauri-plugin-cli"
|
name = "tauri-plugin-cli"
|
||||||
version = "2.0.0-beta.1"
|
version = "2.0.0-beta.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"clap",
|
"clap",
|
||||||
"log",
|
"log",
|
||||||
@@ -6474,7 +6474,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tauri-plugin-clipboard-manager"
|
name = "tauri-plugin-clipboard-manager"
|
||||||
version = "2.0.0-beta.1"
|
version = "2.0.0-beta.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"arboard",
|
"arboard",
|
||||||
"log",
|
"log",
|
||||||
@@ -6487,7 +6487,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tauri-plugin-deep-link"
|
name = "tauri-plugin-deep-link"
|
||||||
version = "2.0.0-beta.1"
|
version = "2.0.0-beta.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"log",
|
"log",
|
||||||
"serde",
|
"serde",
|
||||||
@@ -6500,7 +6500,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tauri-plugin-dialog"
|
name = "tauri-plugin-dialog"
|
||||||
version = "2.0.0-beta.1"
|
version = "2.0.0-beta.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"glib 0.16.9",
|
"glib 0.16.9",
|
||||||
"log",
|
"log",
|
||||||
@@ -6516,7 +6516,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tauri-plugin-fs"
|
name = "tauri-plugin-fs"
|
||||||
version = "2.0.0-beta.1"
|
version = "2.0.0-beta.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"anyhow",
|
"anyhow",
|
||||||
"glob",
|
"glob",
|
||||||
@@ -6535,7 +6535,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tauri-plugin-global-shortcut"
|
name = "tauri-plugin-global-shortcut"
|
||||||
version = "2.0.0-beta.1"
|
version = "2.0.0-beta.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"global-hotkey",
|
"global-hotkey",
|
||||||
"log",
|
"log",
|
||||||
@@ -6548,7 +6548,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tauri-plugin-http"
|
name = "tauri-plugin-http"
|
||||||
version = "2.0.0-beta.1"
|
version = "2.0.0-beta.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"data-url",
|
"data-url",
|
||||||
"http 0.2.11",
|
"http 0.2.11",
|
||||||
@@ -6567,7 +6567,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tauri-plugin-localhost"
|
name = "tauri-plugin-localhost"
|
||||||
version = "2.0.0-beta.1"
|
version = "2.0.0-beta.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"http 1.0.0",
|
"http 1.0.0",
|
||||||
"log",
|
"log",
|
||||||
@@ -6580,7 +6580,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tauri-plugin-log"
|
name = "tauri-plugin-log"
|
||||||
version = "2.0.0-beta.1"
|
version = "2.0.0-beta.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"android_logger",
|
"android_logger",
|
||||||
"byte-unit",
|
"byte-unit",
|
||||||
@@ -6599,7 +6599,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tauri-plugin-nfc"
|
name = "tauri-plugin-nfc"
|
||||||
version = "2.0.0-beta.1"
|
version = "2.0.0-beta.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"log",
|
"log",
|
||||||
"serde",
|
"serde",
|
||||||
@@ -6612,7 +6612,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tauri-plugin-notification"
|
name = "tauri-plugin-notification"
|
||||||
version = "2.0.0-beta.1"
|
version = "2.0.0-beta.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"chrono",
|
"chrono",
|
||||||
"color-backtrace",
|
"color-backtrace",
|
||||||
@@ -6640,7 +6640,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tauri-plugin-os"
|
name = "tauri-plugin-os"
|
||||||
version = "2.0.0-beta.1"
|
version = "2.0.0-beta.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"gethostname",
|
"gethostname",
|
||||||
"log",
|
"log",
|
||||||
@@ -6656,7 +6656,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tauri-plugin-persisted-scope"
|
name = "tauri-plugin-persisted-scope"
|
||||||
version = "2.0.0-beta.1"
|
version = "2.0.0-beta.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"aho-corasick",
|
"aho-corasick",
|
||||||
"bincode",
|
"bincode",
|
||||||
@@ -6670,7 +6670,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tauri-plugin-positioner"
|
name = "tauri-plugin-positioner"
|
||||||
version = "2.0.0-beta.1"
|
version = "2.0.0-beta.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"log",
|
"log",
|
||||||
"serde",
|
"serde",
|
||||||
@@ -6683,7 +6683,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tauri-plugin-process"
|
name = "tauri-plugin-process"
|
||||||
version = "2.0.0-beta.1"
|
version = "2.0.0-beta.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"tauri",
|
"tauri",
|
||||||
"tauri-plugin",
|
"tauri-plugin",
|
||||||
@@ -6691,7 +6691,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tauri-plugin-shell"
|
name = "tauri-plugin-shell"
|
||||||
version = "2.0.0-beta.1"
|
version = "2.0.0-beta.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"encoding_rs",
|
"encoding_rs",
|
||||||
"log",
|
"log",
|
||||||
@@ -6709,7 +6709,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tauri-plugin-single-instance"
|
name = "tauri-plugin-single-instance"
|
||||||
version = "2.0.0-beta.2"
|
version = "2.0.0-beta.3"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"log",
|
"log",
|
||||||
"serde",
|
"serde",
|
||||||
@@ -6722,7 +6722,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tauri-plugin-sql"
|
name = "tauri-plugin-sql"
|
||||||
version = "2.0.0-beta.1"
|
version = "2.0.0-beta.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"futures-core",
|
"futures-core",
|
||||||
"log",
|
"log",
|
||||||
@@ -6738,7 +6738,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tauri-plugin-store"
|
name = "tauri-plugin-store"
|
||||||
version = "2.0.0-beta.1"
|
version = "2.0.0-beta.3"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"log",
|
"log",
|
||||||
"serde",
|
"serde",
|
||||||
@@ -6750,7 +6750,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tauri-plugin-stronghold"
|
name = "tauri-plugin-stronghold"
|
||||||
version = "2.0.0-beta.1"
|
version = "2.0.0-beta.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"hex",
|
"hex",
|
||||||
"iota-crypto 0.23.1",
|
"iota-crypto 0.23.1",
|
||||||
@@ -6771,7 +6771,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tauri-plugin-updater"
|
name = "tauri-plugin-updater"
|
||||||
version = "2.0.0-beta.1"
|
version = "2.0.0-beta.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"base64 0.21.7",
|
"base64 0.21.7",
|
||||||
"dirs-next",
|
"dirs-next",
|
||||||
@@ -6798,7 +6798,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tauri-plugin-upload"
|
name = "tauri-plugin-upload"
|
||||||
version = "2.0.0-beta.1"
|
version = "2.0.0-beta.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"futures-util",
|
"futures-util",
|
||||||
"log",
|
"log",
|
||||||
@@ -6815,7 +6815,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tauri-plugin-websocket"
|
name = "tauri-plugin-websocket"
|
||||||
version = "2.0.0-beta.1"
|
version = "2.0.0-beta.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"futures-util",
|
"futures-util",
|
||||||
"http 1.0.0",
|
"http 1.0.0",
|
||||||
@@ -6832,7 +6832,7 @@ dependencies = [
|
|||||||
|
|
||||||
[[package]]
|
[[package]]
|
||||||
name = "tauri-plugin-window-state"
|
name = "tauri-plugin-window-state"
|
||||||
version = "2.0.0-beta.1"
|
version = "2.0.0-beta.2"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bincode",
|
"bincode",
|
||||||
"bitflags 2.4.2",
|
"bitflags 2.4.2",
|
||||||
|
|||||||
@@ -53,3 +53,4 @@ deflate = [ "reqwest/deflate" ]
|
|||||||
trust-dns = [ "reqwest/trust-dns" ]
|
trust-dns = [ "reqwest/trust-dns" ]
|
||||||
socks = [ "reqwest/socks" ]
|
socks = [ "reqwest/socks" ]
|
||||||
http3 = [ "reqwest/http3" ]
|
http3 = [ "reqwest/http3" ]
|
||||||
|
unsafe-headers = []
|
||||||
@@ -195,7 +195,8 @@ pub async fn fetch<R: Runtime>(
|
|||||||
for (name, value) in &headers {
|
for (name, value) in &headers {
|
||||||
let name = HeaderName::from_bytes(name.as_bytes())?;
|
let name = HeaderName::from_bytes(name.as_bytes())?;
|
||||||
let value = HeaderValue::from_bytes(value.as_bytes())?;
|
let value = HeaderValue::from_bytes(value.as_bytes())?;
|
||||||
if !matches!(
|
#[cfg(not(feature = "unsafe-headers"))]
|
||||||
|
if matches!(
|
||||||
name,
|
name,
|
||||||
// forbidden headers per fetch spec https://fetch.spec.whatwg.org/#terminology-headers
|
// forbidden headers per fetch spec https://fetch.spec.whatwg.org/#terminology-headers
|
||||||
header::ACCEPT_CHARSET
|
header::ACCEPT_CHARSET
|
||||||
@@ -218,8 +219,10 @@ pub async fn fetch<R: Runtime>(
|
|||||||
| header::UPGRADE
|
| header::UPGRADE
|
||||||
| header::VIA
|
| header::VIA
|
||||||
) {
|
) {
|
||||||
request = request.header(name, value);
|
continue;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
request = request.header(name, value);
|
||||||
}
|
}
|
||||||
|
|
||||||
// POST and PUT requests should always have a 0 length content-length,
|
// POST and PUT requests should always have a 0 length content-length,
|
||||||
|
|||||||
Reference in new issue
Block a user