From f71b90582c713e528fb731ded8ded8d8b599c031 Mon Sep 17 00:00:00 2001 From: Horus3 Date: Tue, 5 May 2015 22:41:27 +0200 Subject: Fixed IndexOutOfBonds runtime panic. --- app/fetch.go | 16 +++++++++++++--- 1 file changed, 13 insertions(+), 3 deletions(-) (limited to 'app/fetch.go') diff --git a/app/fetch.go b/app/fetch.go index fc457f7..799fb58 100644 --- a/app/fetch.go +++ b/app/fetch.go @@ -16,6 +16,7 @@ func healthCheck() { func CheckPages(h []Host) []Host { wentWrong := false + hostName := "" for k, v := range h { if !h[k].Monitored { @@ -26,9 +27,11 @@ func CheckPages(h []Host) []Host { h[k].Status = "Error" h[k].StatusCode = 0 h[k].Success = false - h[k].Monitored = false + //h[k].Monitored = false h[k].Reason = fmt.Sprintf("%v", err) h[k].Class = "danger" + hostName = h[k].Host + wentWrong = true } else { h[k].Status = resp.Status h[k].StatusCode = int64(resp.StatusCode) @@ -40,6 +43,8 @@ func CheckPages(h []Host) []Host { h[k].Success = false h[k].Class = "danger" h[k].Monitored = true + wentWrong = true + hostName = h[k].Host } h[k].Reason = "" } @@ -48,13 +53,14 @@ func CheckPages(h []Host) []Host { if wentWrong { u := []User{} Db.Find(&u) - SendEmail(u, h) + SendEmail(u, h, hostName) } return h } func CheckAllPages(h []Host) []Host { wentWrong := false + hostName := "" for k, v := range h { if resp, _, err := HttpGet(v.Url); err != nil { @@ -65,6 +71,7 @@ func CheckAllPages(h []Host) []Host { h[k].Reason = fmt.Sprintf("%v", err) h[k].Class = "danger" wentWrong = true + hostName = h[k].Host } else { h[k].Status = resp.Status h[k].StatusCode = int64(resp.StatusCode) @@ -74,6 +81,9 @@ func CheckAllPages(h []Host) []Host { } else { h[k].Success = false h[k].Class = "danger" + h[k].Monitored = true + wentWrong = true + hostName = h[k].Host } h[k].Reason = "" } @@ -82,7 +92,7 @@ func CheckAllPages(h []Host) []Host { if wentWrong { u := []User{} Db.Find(&u) - SendEmail(u, h) + SendEmail(u, h, hostName) } return h } -- cgit v1.2.3