diff options
| author | Horus_Arch | 2015-02-26 02:40:52 +0100 |
|---|---|---|
| committer | Horus_Arch | 2015-02-26 02:40:52 +0100 |
| commit | 64ae2edb5a97f05f5592f58422adbc6ac089f9e8 (patch) | |
| tree | b375a73ec6bd0698d27cd01ef4307e62e9c1fa6d /app/fetch.go | |
| parent | 49ffcba2c3c4a19d147dd792d7f6c99b7545a491 (diff) | |
| download | statuspage-64ae2edb5a97f05f5592f58422adbc6ac089f9e8.tar.gz | |
Clean up. More backend code. Better UX and design.
Diffstat (limited to 'app/fetch.go')
| -rw-r--r-- | app/fetch.go | 25 |
1 files changed, 23 insertions, 2 deletions
diff --git a/app/fetch.go b/app/fetch.go index 3969314..18721fc 100644 --- a/app/fetch.go +++ b/app/fetch.go @@ -7,14 +7,14 @@ import ( func healthCheck() { h := []Host{} Db.Find(&h) - h = CheckPage(h) + h = CheckPages(h) CacheHosts(cache_prefix+"database", h) for k, _ := range h { Db.Debug().Save(&h[k]) } } -func CheckPage(h []Host) []Host { +func CheckPages(h []Host) []Host { for k, v := range h { if !h[k].Monitored { @@ -38,3 +38,24 @@ func CheckPage(h []Host) []Host { return h } + +func CheckAllPages(h []Host) []Host { + for k, v := range h { + if resp, _, err := HttpGet(v.Url); err != nil { + h[k].Status = "Error" + h[k].StatusCode = 0 + h[k].Success = false + h[k].Monitored = false + h[k].Reason = fmt.Sprintf("%v", err) + h[k].Class = "danger" + } else { + h[k].Status = resp.Status + h[k].StatusCode = int64(resp.StatusCode) + h[k].Success = true + h[k].Reason = "" + h[k].Class = "success" + } + } + + return h +} |
