chore(deps): update rust crate ureq to v3 (dev) (#12524)

Co-authored-by: renovate[bot] <29139614+renovate[bot]@users.noreply.github.com>
Co-authored-by: FabianLars <github@fabianlars.de>
This commit is contained in:
renovate[bot]
2025-01-29 23:23:38 +01:00
committed by GitHub
parent 0a11b8741a
commit bfc71e845b
6 changed files with 143 additions and 71 deletions

176
Cargo.lock generated
View File

@@ -258,7 +258,7 @@ dependencies = [
"serde",
"serde_json",
"thiserror 1.0.69",
"x509-certificate",
"x509-certificate 0.23.1",
]
[[package]]
@@ -349,7 +349,7 @@ dependencies = [
"widestring",
"windows-sys 0.52.0",
"x509",
"x509-certificate",
"x509-certificate 0.23.1",
"xml-rs",
"yasna",
"zeroize",
@@ -397,7 +397,7 @@ dependencies = [
"signature 2.2.0",
"thiserror 1.0.69",
"url",
"x509-certificate",
"x509-certificate 0.23.1",
"xml-rs",
"xz2",
]
@@ -1482,16 +1482,16 @@ dependencies = [
[[package]]
name = "cargo-mobile2"
version = "0.17.4"
version = "0.17.5"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "197498a32cc339dac8e77a319eacf00688b5ac633628f007c4465f303cc69105"
checksum = "1821b10b80c2dc11d2001646435931a9913dc30d025036ed6b2f2e5c95e3ad12"
dependencies = [
"colored",
"core-foundation 0.10.0",
"deunicode",
"duct",
"dunce",
"embed-resource 2.5.1",
"embed-resource",
"english-numbers",
"freedesktop_entry_parser",
"handlebars",
@@ -1508,12 +1508,12 @@ dependencies = [
"serde",
"serde_json",
"textwrap",
"thiserror 1.0.69",
"thiserror 2.0.10",
"toml 0.8.19",
"ureq",
"which 6.0.3",
"windows",
"x509-certificate",
"which",
"windows 0.59.0",
"x509-certificate 0.24.0",
]
[[package]]
@@ -2082,7 +2082,7 @@ dependencies = [
"reqwest 0.11.27",
"ring",
"signature 2.2.0",
"x509-certificate",
"x509-certificate 0.23.1",
]
[[package]]
@@ -2692,20 +2692,6 @@ dependencies = [
"serde",
]
[[package]]
name = "embed-resource"
version = "2.5.1"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b68b6f9f63a0b6a38bc447d4ce84e2b388f3ec95c99c641c8ff0dd3ef89a6379"
dependencies = [
"cc",
"memchr",
"rustc_version",
"toml 0.8.19",
"vswhom",
"winreg 0.52.0",
]
[[package]]
name = "embed-resource"
version = "3.0.1"
@@ -6361,7 +6347,7 @@ dependencies = [
"aes-gcm",
"aes-kw",
"argon2",
"base64 0.22.1",
"base64 0.21.7",
"bitfield",
"block-padding",
"blowfish",
@@ -8981,7 +8967,7 @@ dependencies = [
"tao-macros",
"unicode-segmentation",
"url",
"windows",
"windows 0.58.0",
"windows-core 0.58.0",
"windows-version",
"x11-dl",
@@ -9078,7 +9064,7 @@ dependencies = [
"webkit2gtk",
"webview2-com",
"window-vibrancy",
"windows",
"windows 0.58.0",
]
[[package]]
@@ -9279,7 +9265,7 @@ dependencies = [
"signal-hook",
"signal-hook-tokio",
"tokio",
"which 7.0.1",
"which",
]
[[package]]
@@ -9320,7 +9306,7 @@ dependencies = [
"serde",
"serde_json",
"tempfile",
"x509-certificate",
"x509-certificate 0.23.1",
]
[[package]]
@@ -9414,7 +9400,7 @@ dependencies = [
"tauri-utils 2.1.1",
"thiserror 2.0.10",
"url",
"windows",
"windows 0.58.0",
]
[[package]]
@@ -9438,7 +9424,7 @@ dependencies = [
"url",
"webkit2gtk",
"webview2-com",
"windows",
"windows 0.58.0",
"wry",
]
@@ -9579,7 +9565,7 @@ version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "56eaa45f707bedf34d19312c26d350bc0f3c59a47e58e8adbeecdc850d2c13a0"
dependencies = [
"embed-resource 3.0.1",
"embed-resource",
"toml 0.8.19",
]
@@ -10342,22 +10328,39 @@ checksum = "8ecb6da28b8a351d773b68d5825ac39017e680750f980f3a1a85cd8dd28a47c1"
[[package]]
name = "ureq"
version = "2.12.1"
version = "3.0.2"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "02d1a66277ed75f640d608235660df48c8e3c19f3b4edb6a263315626cc3c01d"
checksum = "aa6a209bb4b8d5903579fc4f8cd12ce5594f1ed6b735bf290ab5e2bdb3e70013"
dependencies = [
"base64 0.22.1",
"cc",
"der 0.7.9",
"flate2",
"log",
"native-tls",
"once_cell",
"percent-encoding",
"rustls 0.23.20",
"rustls-pemfile 2.2.0",
"rustls-pki-types",
"socks",
"url",
"ureq-proto",
"utf-8",
"webpki-root-certs",
"webpki-roots 0.26.7",
]
[[package]]
name = "ureq-proto"
version = "0.3.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "2c51fe73e1d8c4e06bb2698286f7e7453c6fc90528d6d2e7fc36bb4e87fe09b1"
dependencies = [
"base64 0.22.1",
"http 1.2.0",
"httparse",
"log",
]
[[package]]
name = "url"
version = "2.5.4"
@@ -10748,6 +10751,15 @@ dependencies = [
"system-deps",
]
[[package]]
name = "webpki-root-certs"
version = "0.26.7"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "9cd5da49bdf1f30054cfe0b8ce2958b8fbeb67c4d82c8967a598af481bef255c"
dependencies = [
"rustls-pki-types",
]
[[package]]
name = "webpki-roots"
version = "0.25.4"
@@ -10771,10 +10783,10 @@ checksum = "823e7ebcfaea51e78f72c87fc3b65a1e602c321f407a0b36dbb327d7bb7cd921"
dependencies = [
"webview2-com-macros",
"webview2-com-sys",
"windows",
"windows 0.58.0",
"windows-core 0.58.0",
"windows-implement",
"windows-interface",
"windows-implement 0.58.0",
"windows-interface 0.58.0",
]
[[package]]
@@ -10795,7 +10807,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7a82bce72db6e5ee83c68b5de1e2cd6ea195b9fbff91cb37df5884cbe3222df4"
dependencies = [
"thiserror 1.0.69",
"windows",
"windows 0.58.0",
"windows-core 0.58.0",
]
@@ -10805,18 +10817,6 @@ version = "0.1.8"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "53a85b86a771b1c87058196170769dd264f66c0782acf1ae6cc51bfd64b39082"
[[package]]
name = "which"
version = "6.0.3"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "b4ee928febd44d98f2f459a4a79bd4d928591333a494a10a868418ac1b39cf1f"
dependencies = [
"either",
"home",
"rustix 0.38.43",
"winsafe",
]
[[package]]
name = "which"
version = "7.0.1"
@@ -10890,6 +10890,16 @@ dependencies = [
"windows-targets 0.52.6",
]
[[package]]
name = "windows"
version = "0.59.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "7f919aee0a93304be7f62e8e5027811bbba96bcb1de84d6618be56e43f8a32a1"
dependencies = [
"windows-core 0.59.0",
"windows-targets 0.53.0",
]
[[package]]
name = "windows-core"
version = "0.52.0"
@@ -10905,13 +10915,26 @@ version = "0.58.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "6ba6d44ec8c2591c134257ce647b7ea6b20335bf6379a27dac5f1641fcf59f99"
dependencies = [
"windows-implement",
"windows-interface",
"windows-implement 0.58.0",
"windows-interface 0.58.0",
"windows-result 0.2.0",
"windows-strings 0.1.0",
"windows-targets 0.52.6",
]
[[package]]
name = "windows-core"
version = "0.59.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "810ce18ed2112484b0d4e15d022e5f598113e220c53e373fb31e67e21670c1ce"
dependencies = [
"windows-implement 0.59.0",
"windows-interface 0.59.0",
"windows-result 0.3.0",
"windows-strings 0.3.0",
"windows-targets 0.53.0",
]
[[package]]
name = "windows-implement"
version = "0.58.0"
@@ -10923,6 +10946,17 @@ dependencies = [
"syn 2.0.95",
]
[[package]]
name = "windows-implement"
version = "0.59.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "83577b051e2f49a058c308f17f273b570a6a758386fc291b5f6a934dd84e48c1"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.95",
]
[[package]]
name = "windows-interface"
version = "0.58.0"
@@ -10934,6 +10968,17 @@ dependencies = [
"syn 2.0.95",
]
[[package]]
name = "windows-interface"
version = "0.59.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "cb26fd936d991781ea39e87c3a27285081e3c0da5ca0fcbc02d368cc6f52ff01"
dependencies = [
"proc-macro2",
"quote",
"syn 2.0.95",
]
[[package]]
name = "windows-registry"
version = "0.2.0"
@@ -11449,7 +11494,7 @@ dependencies = [
"webkit2gtk",
"webkit2gtk-sys",
"webview2-com",
"windows",
"windows 0.58.0",
"windows-core 0.58.0",
"windows-version",
"x11-dl",
@@ -11537,6 +11582,25 @@ dependencies = [
"zeroize",
]
[[package]]
name = "x509-certificate"
version = "0.24.0"
source = "registry+https://github.com/rust-lang/crates.io-index"
checksum = "e57b9f8bcae7c1f36479821ae826d75050c60ce55146fd86d3553ed2573e2762"
dependencies = [
"bcder",
"bytes",
"chrono",
"der 0.7.9",
"hex",
"pem",
"ring",
"signature 2.2.0",
"spki 0.7.3",
"thiserror 1.0.69",
"zeroize",
]
[[package]]
name = "xattr"
version = "1.4.0"

View File

@@ -32,7 +32,7 @@ tempfile = "3"
log = { version = "0.4.21", features = ["kv"] }
dirs = "6"
os_pipe = "1"
ureq = { version = "2", default-features = false, features = ["socks-proxy"] }
ureq = { version = "3", default-features = false, features = ["socks-proxy"] }
native-tls = { version = "0.2", optional = true }
hex = "0.4"
semver = "1"
@@ -73,4 +73,4 @@ path = "src/lib.rs"
default = ["rustls"]
native-tls = ["ureq/native-tls"]
native-tls-vendored = ["native-tls", "native-tls/vendored"]
rustls = ["ureq/tls"]
rustls = ["ureq/rustls"]

View File

@@ -7,6 +7,8 @@ use std::{
path::{Path, PathBuf},
};
use ureq::ResponseExt;
use crate::utils::http_utils::download;
pub const WEBVIEW2_BOOTSTRAPPER_URL: &str = "https://go.microsoft.com/fwlink/p/?LinkId=2124703";
@@ -22,9 +24,12 @@ pub const WIX_OUTPUT_FOLDER_NAME: &str = "msi";
pub const WIX_UPDATER_OUTPUT_FOLDER_NAME: &str = "msi-updater";
pub fn webview2_guid_path(url: &str) -> crate::Result<(String, String)> {
let agent = ureq::AgentBuilder::new().try_proxy_from_env(true).build();
let agent: ureq::Agent = ureq::Agent::config_builder()
.proxy(ureq::Proxy::try_from_env())
.build()
.into();
let response = agent.head(url).call().map_err(Box::new)?;
let final_url = response.get_url();
let final_url = response.get_uri().to_string();
let remaining_url = final_url.strip_prefix(WEBVIEW2_URL_PREFIX).ok_or_else(|| {
anyhow::anyhow!(
"WebView2 URL prefix mismatch. Expected `{}`, found `{}`.",

View File

@@ -47,12 +47,15 @@ fn generate_github_alternative_url(url: &str) -> Option<(ureq::Agent, String)> {
generate_github_mirror_url_from_template(url)
.or_else(|| generate_github_mirror_url_from_base(url))
.map(|alt_url| (ureq::AgentBuilder::new().build(), alt_url))
.map(|alt_url| (ureq::agent(), alt_url))
}
fn create_agent_and_url(url: &str) -> (ureq::Agent, String) {
generate_github_alternative_url(url).unwrap_or((
ureq::AgentBuilder::new().try_proxy_from_env(true).build(),
ureq::Agent::config_builder()
.proxy(ureq::Proxy::try_from_env())
.build()
.into(),
url.to_owned(),
))
}
@@ -65,7 +68,7 @@ pub fn download(url: &str) -> crate::Result<Vec<u8>> {
let response = agent.get(&final_url).call().map_err(Box::new)?;
let mut bytes = Vec::new();
response.into_reader().read_to_end(&mut bytes)?;
response.into_body().into_reader().read_to_end(&mut bytes)?;
Ok(bytes)
}

View File

@@ -75,7 +75,7 @@ handlebars = "6"
include_dir = "0.7"
minisign = "=0.7.3"
base64 = "0.22"
ureq = { version = "2", default-features = false, features = ["gzip"] }
ureq = { version = "3", default-features = false, features = ["gzip"] }
os_info = "3"
semver = "1"
regex = "1"
@@ -148,4 +148,4 @@ native-tls = [
"ureq/native-tls",
]
native-tls-vendored = ["native-tls", "tauri-bundler/native-tls-vendored"]
rustls = ["tauri-bundler/rustls", "cargo-mobile2/rustls", "ureq/tls"]
rustls = ["tauri-bundler/rustls", "cargo-mobile2/rustls", "ureq/rustls"]

View File

@@ -99,13 +99,13 @@ impl std::fmt::Display for CrateVersion {
pub fn crate_latest_version(name: &str) -> Option<String> {
let url = format!("https://docs.rs/crate/{name}/");
match ureq::get(&url).call() {
Ok(response) => match (response.status(), response.header("location")) {
(302, Some(location)) => Some(location.replace(&url, "")),
_ => None,
},
Err(_) => None,
let response = ureq::get(&url).call().ok()?;
if response.status().is_redirection() {
if let Some(location) = response.headers().get("location") {
return location.to_str().ok().map(|s| s.replace(&url, ""));
}
}
None
}
pub fn crate_version(