From 84b9821bd82599c9a694b7434486dc4785a2983b Mon Sep 17 00:00:00 2001 From: Levi Nelson <54561718+LeviticusNelson@users.noreply.github.com> Date: Fri, 12 May 2023 15:59:11 -0700 Subject: [PATCH 1/3] added USER-AGENT header for http GET request --- src/install/krate.rs | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/src/install/krate.rs b/src/install/krate.rs index 4ac2fac..4dbb6e4 100644 --- a/src/install/krate.rs +++ b/src/install/krate.rs @@ -1,5 +1,6 @@ use crate::install::Tool; use anyhow::Result; +use reqwest::header::USER_AGENT; use serde::Deserialize; #[derive(Debug, Deserialize)] @@ -17,9 +18,13 @@ impl Krate { pub fn new(name: &Tool) -> Result { let krate_address = format!("https://crates.io/api/v1/crates/{}", name); let client = reqwest::blocking::Client::new(); - let res = client.get(&krate_address).send()?; + let res = client + .get(&krate_address) + .header(USER_AGENT, "wasm-pack") + .send()?; - let kr: KrateResponse = serde_json::from_str(&res.text()?)?; + let text = res.text()?; + let kr: KrateResponse = serde_json::from_str(&text)?; Ok(kr.krate) } } From 65c9070c2d17720cef9d6add40053208c2758a6d Mon Sep 17 00:00:00 2001 From: Levi Nelson <54561718+LeviticusNelson@users.noreply.github.com> Date: Fri, 12 May 2023 16:01:00 -0700 Subject: [PATCH 2/3] revert change for var --- src/install/krate.rs | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/src/install/krate.rs b/src/install/krate.rs index 4dbb6e4..f02a583 100644 --- a/src/install/krate.rs +++ b/src/install/krate.rs @@ -23,8 +23,7 @@ impl Krate { .header(USER_AGENT, "wasm-pack") .send()?; - let text = res.text()?; - let kr: KrateResponse = serde_json::from_str(&text)?; + let kr: KrateResponse = serde_json::from_str(&res.text()?)?; Ok(kr.krate) } } From 212c0d0a4854b1af36581f212f317235db080df4 Mon Sep 17 00:00:00 2001 From: Levi Nelson <54561718+LeviticusNelson@users.noreply.github.com> Date: Fri, 12 May 2023 16:17:05 -0700 Subject: [PATCH 3/3] add package version to header --- src/install/krate.rs | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/install/krate.rs b/src/install/krate.rs index f02a583..6fc44a7 100644 --- a/src/install/krate.rs +++ b/src/install/krate.rs @@ -2,6 +2,7 @@ use crate::install::Tool; use anyhow::Result; use reqwest::header::USER_AGENT; use serde::Deserialize; +const VERSION: Option<&str> = option_env!("CARGO_PKG_VERSION"); #[derive(Debug, Deserialize)] pub struct Krate { @@ -20,7 +21,10 @@ impl Krate { let client = reqwest::blocking::Client::new(); let res = client .get(&krate_address) - .header(USER_AGENT, "wasm-pack") + .header( + USER_AGENT, + format!("wasm-pack/{}", VERSION.unwrap_or("unknown")), + ) .send()?; let kr: KrateResponse = serde_json::from_str(&res.text()?)?;