From a29dbdb7752129d02a724cf5374ff371db5ecc53 Mon Sep 17 00:00:00 2001 From: Alex Date: Sun, 22 Oct 2017 21:19:10 -0400 Subject: [PATCH] Fix error handling --- processing.go | 2 +- scanner.go | 5 +++-- 2 files changed, 4 insertions(+), 3 deletions(-) diff --git a/processing.go b/processing.go index b0509c2..a34b91a 100644 --- a/processing.go +++ b/processing.go @@ -28,7 +28,7 @@ type ScanTarget struct { type ScanResponse struct { Result interface{} `json:"result,omitempty"` Time string `json:"time,omitempty"` - Error *error `json:"error,omitempty"` + Error *string `json:"error,omitempty"` ErrorComponent string `json:"error_component,omitempty"` } diff --git a/scanner.go b/scanner.go index e334c01..7bff967 100644 --- a/scanner.go +++ b/scanner.go @@ -30,13 +30,14 @@ func PrintScanners() { func RunScanner(s Scanner, mon *Monitor, target ScanTarget) (string, ScanResponse) { t := time.Now() res, e := s.Scan(target) - var err *error //nil pointers are null in golang, which is not nil and not empty + var err *string if e == nil { mon.statusesChan <- moduleStatus{name: s.GetName(), st: statusSuccess} err = nil } else { mon.statusesChan <- moduleStatus{name: s.GetName(), st: statusFailure} - err = &e + errString := e.Error() + err = &errString } resp := ScanResponse{Result: res, Error: err, Time: t.Format(time.RFC3339)} return s.GetName(), resp