diff --git a/server_mirror.go b/server_mirror.go index ac9fc08e0cc9aa260eb409db77b550b4e0109c5b..2f514e240a852d0e721ecb30cfaa3d7a395e4a18 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)