diff --git a/src/install/krate.rs b/src/install/krate.rs index 4ac2fac..6fc44a7 100644 --- a/src/install/krate.rs +++ b/src/install/krate.rs @@ -1,6 +1,8 @@ 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 { @@ -17,7 +19,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, + format!("wasm-pack/{}", VERSION.unwrap_or("unknown")), + ) + .send()?; let kr: KrateResponse = serde_json::from_str(&res.text()?)?; Ok(kr.krate)