From 1be02cd2f326218925fa1163c216710e3ab7eda6 Mon Sep 17 00:00:00 2001
From: Serge Bazanski <q3k@q3k.org>
Date: Tue, 22 Aug 2023 21:03:41 +0200
Subject: [PATCH] releases: properly handle multiple assets

---
 server_mirror.go | 13 ++++++++++++-
 1 file changed, 12 insertions(+), 1 deletion(-)

diff --git a/server_mirror.go b/server_mirror.go
index ac9fc08..2f514e2 100644
--- a/server_mirror.go
+++ b/server_mirror.go
@@ -66,7 +66,18 @@ func (s *server) serveMirroredFile(w http.ResponseWriter, r *http.Request, rel *
 		http.NotFound(w, r)
 		return
 	}
-	link := rel.Assets.Links[0]
+	needle := -1
+	for i, link := range rel.Assets.Links {
+		if strings.HasSuffix(link.Name, ".tar.bz2") {
+			needle = i
+			break
+		}
+	}
+	if needle == -1 {
+		log.Printf("Tag %s has no .tar.bz", rel.TagName)
+		http.NotFound(w, r)
+	}
+	link := rel.Assets.Links[needle]
 	req, err := http.NewRequestWithContext(ctx, "GET", link.URL, nil)
 	if err != nil {
 		w.WriteHeader(500)
-- 
GitLab