m/cup
1
0
mirror of https://github.com/sergi0g/cup.git synced 2025-11-17 09:33:38 -05:00
This commit is contained in:
Sergio
2024-11-15 13:31:42 +02:00
parent d94abecf35
commit 0c3f293fa8
4 changed files with 11 additions and 12 deletions

View File

@@ -1,6 +1,6 @@
use futures::future::join_all;
use rustc_hash::FxHashMap;
use itertools::Itertools;
use rustc_hash::FxHashMap;
use crate::{
config::Config,

View File

@@ -129,6 +129,7 @@ pub async fn get_latest_tag(
let mut next_url = Some(url);
while next_url.is_some() {
#[allow(unused_assignments)]
let mut new_tags = Vec::new();
(new_tags, next_url) =
match get_extra_tags(&next_url.unwrap(), headers.clone(), base, client).await {
@@ -143,9 +144,7 @@ pub async fn get_latest_tag(
};
tags.append(&mut new_tags);
}
let tag = tags
.iter()
.max();
let tag = tags.iter().max();
let current_tag = match &image.version_info {
Some(data) => data.current_tag.clone(),
_ => unreachable!(),
@@ -189,14 +188,14 @@ pub async fn get_extra_tags(
base: &Version,
client: &Client,
) -> Result<(Vec<Version>, Option<String>), String> {
let response = client.get(&url, headers, false).await;
let response = client.get(url, headers, false).await;
match response {
Ok(res) => {
let next_url = match res.headers().get("Link") {
Some(link) => Some(parse_link(link.to_str().unwrap(), &url)),
None => None,
};
let next_url = res
.headers()
.get("Link")
.map(|link| parse_link(link.to_str().unwrap(), url));
let response_json = parse_json(&get_response_body(res).await);
let result = response_json["tags"]
.members()

View File

@@ -8,6 +8,6 @@ use crate::error;
pub fn parse_link(link: &str, base: &str) -> String {
match parse_link_header(link, &Url::from_str(base).unwrap()) {
Ok(l) => l[0].target.to_string(),
Err(e) => error!("Failed to parse link! {}", e)
Err(e) => error!("Failed to parse link! {}", e),
}
}

View File

@@ -1,7 +1,7 @@
pub mod json;
pub mod link;
pub mod logging;
pub mod misc;
pub mod reference;
pub mod request;
pub mod sort_update_vec;
pub mod link;