Log spans, track size & undownloadable files

This commit is contained in:
2021-07-11 22:49:29 -04:00
parent 792e78391c
commit b609e7059a
10 changed files with 104 additions and 47 deletions

View File

@@ -61,7 +61,7 @@ impl DownloadLinkResponse {
.send()
.await?
.error_for_status()?;
info!(status = %res.status(), "downloaded file from nexus");
info!(status = %res.status(), "downloading file from nexus");
// See: https://github.com/benkay86/async-applied/blob/master/reqwest-tokio-compat/src/main.rs
let mut byte_stream = res

View File

@@ -19,6 +19,7 @@ pub struct ApiFile<'a> {
pub category: Option<&'a str>,
pub version: Option<&'a str>,
pub mod_version: Option<&'a str>,
pub size: i64,
pub uploaded_at: NaiveDateTime,
}
@@ -84,6 +85,13 @@ impl FilesResponse {
.get("mod_version")
.ok_or_else(|| anyhow!("Missing mod_version key in file in API response"))?
.as_str();
let size = file
.get("size_in_bytes")
.ok_or_else(|| anyhow!("Missing size_in_bytes key in file in API response"))?
.as_i64()
.ok_or_else(|| {
anyhow!("size_in_bytes value in API response file is not a number")
})?;
let uploaded_timestamp = file
.get("uploaded_timestamp")
.ok_or_else(|| {
@@ -102,6 +110,7 @@ impl FilesResponse {
category,
version,
mod_version,
size,
uploaded_at,
})
})