From 4bbe669b7186010ec191eeb4b39e1e2af8178fd3 Mon Sep 17 00:00:00 2001 From: Andreas Wachter Date: Mon, 6 Apr 2026 11:34:05 +0200 Subject: [PATCH] fix findings from 372 (#373) --- gitea/gitea.go | 2 ++ gitlab/gitlab.go | 2 ++ metrics/heartbeat/heartbeat.go | 4 +++- metrics/ntfy/ntfy.go | 19 +++++++++++++++---- 4 files changed, 22 insertions(+), 5 deletions(-) diff --git a/gitea/gitea.go b/gitea/gitea.go index 72f2e62..620c519 100644 --- a/gitea/gitea.go +++ b/gitea/gitea.go @@ -308,6 +308,7 @@ func Get(conf *types.Conf) ([]types.Repo, bool) { for lang, percent := range langs { if percent > percentage { language = lang + percentage = percent } } if !languages[strings.ToLower(language)] { @@ -453,6 +454,7 @@ func Get(conf *types.Conf) ([]types.Repo, bool) { for lang, percent := range langs { if percent > percentage { language = lang + percentage = percent } } if !languages[strings.ToLower(language)] { diff --git a/gitlab/gitlab.go b/gitlab/gitlab.go index 90fe3ed..0ab31b1 100644 --- a/gitlab/gitlab.go +++ b/gitlab/gitlab.go @@ -255,6 +255,7 @@ func Get(conf *types.Conf) ([]types.Repo, bool) { for lang, percent := range *langs { if percent > percentage { language = lang + percentage = percent } } if !languages[strings.ToLower(language)] { @@ -420,6 +421,7 @@ func Get(conf *types.Conf) ([]types.Repo, bool) { for lang, percent := range *langs { if percent > percentage { language = lang + percentage = percent } } if !languages[strings.ToLower(language)] { diff --git a/metrics/heartbeat/heartbeat.go b/metrics/heartbeat/heartbeat.go index a1be28e..7418bda 100644 --- a/metrics/heartbeat/heartbeat.go +++ b/metrics/heartbeat/heartbeat.go @@ -15,6 +15,8 @@ func Send(conf types.HeartbeatConfig) { log.Error().Str("monitoring", "heartbeat").Msg(err.Error()) continue } - resp.Body.Close() + if err := resp.Body.Close(); err != nil { + log.Error().Str("monitoring", "heartbeat").Str("url", u).Msg(err.Error()) + } } } diff --git a/metrics/ntfy/ntfy.go b/metrics/ntfy/ntfy.go index 79627b7..984e9ce 100644 --- a/metrics/ntfy/ntfy.go +++ b/metrics/ntfy/ntfy.go @@ -2,6 +2,7 @@ package ntfy import ( "context" + "errors" "fmt" "net/http" "strings" @@ -14,7 +15,10 @@ func Notify(msg string, config types.PushConfig) error { payload := strings.NewReader(msg) - req, _ := http.NewRequestWithContext(context.Background(), http.MethodPost, url, payload) + req, err := http.NewRequestWithContext(context.Background(), http.MethodPost, url, payload) + if err != nil { + return err + } req.Header.Add("Content-Type", "text/plain") req.Header.Add("Title", "Backup done") @@ -33,10 +37,17 @@ func Notify(msg string, config types.PushConfig) error { return err } - res.Body.Close() - if res.StatusCode != http.StatusOK { - return fmt.Errorf("received status %d from %s", res.StatusCode, config.Url) + statusErr := fmt.Errorf("received status %d from %s", res.StatusCode, config.Url) + if err := res.Body.Close(); err != nil { + return errors.Join(statusErr, err) + } + + return statusErr + } + + if err := res.Body.Close(); err != nil { + return err } return nil