From 7f27875bdb3975182be930cf07e24a9144dfdd82 Mon Sep 17 00:00:00 2001 From: iratusmachina Date: Wed, 7 May 2025 17:55:24 -0400 Subject: [PATCH] Fixing errors from errcheck --- handlers.go | 30 +++++++++++++++++++++++++----- main.go | 7 ++++++- middleware.go | 6 +++++- testUtils_test.go | 12 ++++++------ 4 files changed, 42 insertions(+), 13 deletions(-) diff --git a/handlers.go b/handlers.go index cc4d85c..1d3a214 100644 --- a/handlers.go +++ b/handlers.go @@ -9,7 +9,10 @@ import ( ) func healthcheck(w http.ResponseWriter, r *http.Request) { - w.Write([]byte("ok")) + _, err := w.Write([]byte("ok")) + if err != nil { + fmt.Printf("Error writing ok: %+v", err) + } } func reloadRules(c *Config) http.HandlerFunc { @@ -20,7 +23,12 @@ func reloadRules(c *Config) http.HandlerFunc { http.Error(w, e.Error(), http.StatusInternalServerError) return } - w.Write([]byte("ok")) + _, err = w.Write([]byte("ok")) + if err != nil { + e := fmt.Errorf("cannot reload rules: %+v", err) + http.Error(w, e.Error(), http.StatusInternalServerError) + return + } } } @@ -39,7 +47,11 @@ func serveRules(c *Config) http.HandlerFunc { http.Error(w, err.Error(), http.StatusInternalServerError) return } - w.Write(data) + _, err = w.Write(data) + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } return } @@ -71,7 +83,11 @@ func serveRules(c *Config) http.HandlerFunc { http.Error(w, err.Error(), http.StatusInternalServerError) return } - w.Write(data) + _, err = w.Write(data) + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } return } @@ -94,6 +110,10 @@ func serveRules(c *Config) http.HandlerFunc { } w.Header().Set("Cache-Control", "public, max-age=500") - w.Write(buf.Bytes()) + _, err = w.Write(buf.Bytes()) + if err != nil { + http.Error(w, err.Error(), http.StatusInternalServerError) + return + } } } diff --git a/main.go b/main.go index 7e375ed..23594b0 100644 --- a/main.go +++ b/main.go @@ -52,7 +52,12 @@ func main() { confFlag := flags.String("conf", "", "Required. Contains all the configurations options") - flags.Parse(os.Args[1:]) + err := flags.Parse(os.Args[1:]) + if err != nil { + errorLog.Println("Error: cannot parse command-line arguments") + flags.Usage() + os.Exit(1) + } if len(flags.Args()) > 1 { errorLog.Println("Error: too many command-line arguments") diff --git a/middleware.go b/middleware.go index d4ed069..d1c29ff 100644 --- a/middleware.go +++ b/middleware.go @@ -1,6 +1,7 @@ package main import ( + "fmt" "net/http" ) @@ -9,7 +10,10 @@ import ( func serveLogger(l *LogFile) func(http.HandlerFunc) http.HandlerFunc { return func(next http.HandlerFunc) http.HandlerFunc { return func(w http.ResponseWriter, r *http.Request) { - l.WriteLog(r) + err := l.WriteLog(r) + if err != nil { + fmt.Printf("Error writing log : %+v", err) + } next(w, r) } } diff --git a/testUtils_test.go b/testUtils_test.go index 925c12b..bc82c53 100644 --- a/testUtils_test.go +++ b/testUtils_test.go @@ -113,12 +113,12 @@ func walkMatch(t *testing.T, root, pattern string) []string { // return !errors.Is(err, fs.ErrNotExist) // } -func removeFileForTest(t *testing.T, name string) { - err := os.Remove(name) - if err != nil { - t.Fatal(err) - } -} +// func removeFileForTest(t *testing.T, name string) { +// err := os.Remove(name) +// if err != nil { +// t.Fatal(err) +// } +// } func writeJsonForTest(t *testing.T, data map[string]any, fp string) { jsonString, _ := json.Marshal(data)