diff --git a/core/startos/src/registry/os/asset/get.rs b/core/startos/src/registry/os/asset/get.rs index 0d63435f2..a3da7047c 100644 --- a/core/startos/src/registry/os/asset/get.rs +++ b/core/startos/src/registry/os/asset/get.rs @@ -138,9 +138,15 @@ async fn cli_get_os_asset( .. }: HandlerArgs, ) -> Result, Error> { + let ext = method + .iter() + .last() + .or_else(|| parent_method.iter().last()) + .unwrap_or(&"bin"); + let res = from_value::>( ctx.call_remote::( - &parent_method.into_iter().chain(method).join("."), + &parent_method.iter().chain(&method).join("."), json!({ "version": version, "platform": platform, @@ -152,6 +158,7 @@ async fn cli_get_os_asset( res.validate(SIG_CONTEXT, res.all_signers())?; if let Some(download) = download { + let download = download.join(format!("startos-{version}_{platform}.{ext}")); let mut file = AtomicFile::new(&download, None::<&Path>) .await .with_kind(ErrorKind::Filesystem)?;