From e94ff7ede7fb38908858df05d55e90160bbae2a6 Mon Sep 17 00:00:00 2001 From: "A. Svensson" Date: Sun, 19 Jun 2016 16:08:17 +0200 Subject: [PATCH] Cleaned up error handling. --- src/db.go | 2 +- src/poller.go | 9 +++++---- src/updater.go | 14 +++++++------- src/utils.go | 8 ++------ src/web.go | 6 ++++-- 5 files changed, 19 insertions(+), 20 deletions(-) diff --git a/src/db.go b/src/db.go index fe07956..fcd9e1d 100644 --- a/src/db.go +++ b/src/db.go @@ -15,7 +15,7 @@ type DB struct { func OpenSqliteDB(args ...interface{}) (*DB, error) { db, e := gorm.Open("sqlite3", args...) - if LogError(e) { + if e != nil { return nil, e } return &DB{db}, nil diff --git a/src/poller.go b/src/poller.go index 7a697bd..cf7d645 100644 --- a/src/poller.go +++ b/src/poller.go @@ -57,15 +57,16 @@ func poll_players(host string, timeout int) (int, error) { return int(players), nil } -func (i *Instance) PollServers(servers []ServerConfig, timeout int) ([]*RawServerData, error) { +func (i *Instance) PollServers(servers []ServerConfig, timeout int) []*RawServerData { var wg sync.WaitGroup var tmp []*RawServerData for _, s := range servers { wg.Add(1) go func(s ServerConfig) { defer wg.Done() - players, err := poll_players(s.GameUrl, timeout) - if LogError(err) { + players, e := poll_players(s.GameUrl, timeout) + if e != nil { + Log("Error polling server %s: %s", s.GameUrl, e) return } gameurl := fmt.Sprintf("byond://%s", s.GameUrl) @@ -74,5 +75,5 @@ func (i *Instance) PollServers(servers []ServerConfig, timeout int) ([]*RawServe }(s) } wg.Wait() - return tmp, nil + return tmp } diff --git a/src/updater.go b/src/updater.go index 7ed41bb..ca321a7 100644 --- a/src/updater.go +++ b/src/updater.go @@ -23,18 +23,18 @@ func (i *Instance) UpdateServers() { if i.Debug { fmt.Println("\nPolling servers...") } - polled, err := i.PollServers(i.Config.Servers, i.Config.UpdateTimeout) - if !LogError(err) { - for _, s := range polled { - i.update_server(tx, s) - } + polled := i.PollServers(i.Config.Servers, i.Config.UpdateTimeout) + for _, s := range polled { + i.update_server(tx, s) } if i.Debug { fmt.Println("\nScraping servers...") } - scraped, err := i.ScrapePage() - if !LogError(err) { + scraped, e := i.ScrapePage() + if e != nil { + Log("Error scraping servers: %s", e) + } else { for _, s := range scraped { i.update_server(tx, s) } diff --git a/src/utils.go b/src/utils.go index 6c692e4..25283c7 100644 --- a/src/utils.go +++ b/src/utils.go @@ -23,12 +23,8 @@ var ( } ) -func LogError(err error) bool { - if err != nil { - log.Printf("WARNING: %s\n", err) - return true - } - return false +func Log(f string, args ...interface{}) { + log.Printf(f+"\n", args...) } func ResetNow() { diff --git a/src/web.go b/src/web.go index 9ca87ac..bb88aeb 100644 --- a/src/web.go +++ b/src/web.go @@ -83,7 +83,7 @@ func (i *Instance) page_404(w http.ResponseWriter, r *http.Request) { func (i *Instance) page_static(w http.ResponseWriter, r *http.Request) { p := path.Join("static", mux.Vars(r)["file"]) b, e := Asset(p) - if LogError(e) { + if e != nil { i.page_404(w, r) return } @@ -91,7 +91,9 @@ func (i *Instance) page_static(w http.ResponseWriter, r *http.Request) { ctype := mime.TypeByExtension(filepath.Ext(p)) w.Header().Add("Content-Type", ctype) _, e = w.Write(b) - LogError(e) + if e != nil { + Log("Error sending static file %s: %s", p, e) + } } func (i *Instance) page_index(w http.ResponseWriter, r *http.Request) {