From 29d9f0487b82deced6693d920aa0e42622af5f0f Mon Sep 17 00:00:00 2001 From: alex Date: Thu, 10 Jul 2025 18:22:53 +0300 Subject: [PATCH] Eliminating lint static checker's whining --- cmd/root.go | 4 +-- cmd/run.go | 28 ++++++++++----------- core/general_server/handle_multi.go | 8 ++++-- core/sv1/handle_com.go | 39 +++++++++++++++++++++++------ core/sv1/handle_list.go | 10 ++++++-- core/update/update.go | 4 ++- 6 files changed, 64 insertions(+), 29 deletions(-) diff --git a/cmd/root.go b/cmd/root.go index b4f58ad..4485c5f 100644 --- a/cmd/root.go +++ b/cmd/root.go @@ -18,7 +18,7 @@ var rootCmd = &cobra.Command{ Short: "Go Sally node", Long: "Main node runner for Go Sally", Run: func(cmd *cobra.Command, args []string) { - cmd.Help() + _ = cmd.Help() }, } @@ -27,7 +27,7 @@ func Execute() { log.SetPrefix(logs.SetBrightBlack(fmt.Sprintf("(%s) ", corestate.StageNotReady))) log.SetFlags(log.Ldate | log.Ltime) compositor.LoadCMDLine(rootCmd) - rootCmd.Execute() + _ = rootCmd.Execute() // if err := rootCmd.Execute(); err != nil { // log.Fatalf("Unexpected error: %s", err.Error()) // } diff --git a/cmd/run.go b/cmd/run.go index ce11dcd..60e987e 100644 --- a/cmd/run.go +++ b/cmd/run.go @@ -104,28 +104,28 @@ var runCmd = &cobra.Command{ cs.RunDir = runDir input, err := os.Open(os.Args[0]) if err != nil { - run_manager.Clean() + _ = run_manager.Clean() x.Log.Fatalf("Unexpected failure: %s", err.Error()) } if err := run_manager.Set(cs.NodeBinName); err != nil { - run_manager.Clean() + _ = run_manager.Clean() x.Log.Fatalf("Unexpected failure: %s", err.Error()) } fmgr := run_manager.File(cs.NodeBinName) output, err := fmgr.Open() if err != nil { - run_manager.Clean() + _ = run_manager.Clean() x.Log.Fatalf("Unexpected failure: %s", err.Error()) } if _, err := io.Copy(output, input); err != nil { fmgr.Close() - run_manager.Clean() + _ = run_manager.Clean() x.Log.Fatalf("Unexpected failure: %s", err.Error()) } if err := os.Chmod(filepath.Join(cs.RunDir, cs.NodeBinName), 0755); err != nil { fmgr.Close() - run_manager.Clean() + _ = run_manager.Clean() x.Log.Fatalf("Unexpected failure: %s", err.Error()) } input.Close() @@ -137,7 +137,7 @@ var runCmd = &cobra.Command{ env := utils.SetEviron(os.Environ(), fmt.Sprintf("GS_PARENT_PID=%d", os.Getpid())) if err := syscall.Exec(runArgs[0], runArgs, env); err != nil { - run_manager.Clean() + _ = run_manager.Clean() x.Log.Fatalf("Unexpected failure: %s", err.Error()) } } @@ -152,27 +152,27 @@ var runCmd = &cobra.Command{ cs.RunDir = run_manager.Toggle() exist, err := utils.ExistsMatchingDirs(filepath.Join(os.TempDir(), fmt.Sprintf("/*-%s-%s", cs.UUID32, "gosally-runtime")), cs.RunDir) if err != nil { - run_manager.Clean() + _ = run_manager.Clean() x.Log.Fatalf("Unexpected failure: %s", err.Error()) } if exist { - run_manager.Clean() + _ = run_manager.Clean() x.Log.Fatalf("Unable to continue node operation: A node with the same identifier was found in the runtime environment") } if err := run_manager.Set("run.lock"); err != nil { - run_manager.Clean() + _ = run_manager.Clean() x.Log.Fatalf("Unexpected failure: %s", err.Error()) } lockPath, err := run_manager.Get("run.lock") if err != nil { - run_manager.Clean() + _ = run_manager.Clean() x.Log.Fatalf("Unexpected failure: %s", err.Error()) } lockFile := ini.Empty() secRun, err := lockFile.NewSection("runtime") if err != nil { - run_manager.Clean() + _ = run_manager.Clean() x.Log.Fatalf("Unexpected failure: %s", err.Error()) } secRun.Key("pid").SetValue(fmt.Sprintf("%d/%d", os.Getpid(), x.Config.Env.ParentStagePID)) @@ -183,7 +183,7 @@ var runCmd = &cobra.Command{ err = lockFile.SaveTo(lockPath) if err != nil { - run_manager.Clean() + _ = run_manager.Clean() x.Log.Fatalf("Unexpected failure: %s", err.Error()) } }, @@ -207,7 +207,7 @@ var runCmd = &cobra.Command{ _, err = runLockFile.Watch(ctxMain, func() { x.Log.Printf("run.lock was touched") - run_manager.Clean() + _ = run_manager.Clean() cancelMain() }) if err != nil { @@ -274,7 +274,7 @@ var runCmd = &cobra.Command{ x.SLog.Error("Failed to start HTTP server", slog.String("error", err.Error())) } } - srv.Shutdown(ctxMain) + _ = srv.Shutdown(ctxMain) }() if x.Config.Conf.Updates.UpdatesEnabled { diff --git a/core/general_server/handle_multi.go b/core/general_server/handle_multi.go index b693a63..16b805b 100644 --- a/core/general_server/handle_multi.go +++ b/core/general_server/handle_multi.go @@ -140,7 +140,9 @@ func (s *GeneralServer) Handle(w http.ResponseWriter, r *http.Request) { log.Error("HTTP request error: unsupported API version", slog.Int("status", http.StatusBadRequest)) - utils.WriteJSONError(s.w, http.StatusBadRequest, "unsupported API version") + if err := utils.WriteJSONError(s.w, http.StatusBadRequest, "unsupported API version"); err != nil { + s.log.Error("Failed to write JSON", slog.String("err", err.Error())) + } } // HandleList processes incoming HTTP requests for listing commands, routing them to the appropriate server based on the API version. @@ -182,5 +184,7 @@ func (s *GeneralServer) HandleList(w http.ResponseWriter, r *http.Request) { log.Error("HTTP request error: unsupported API version", slog.Int("status", http.StatusBadRequest)) - utils.WriteJSONError(s.w, http.StatusBadRequest, "unsupported API version") + if err := utils.WriteJSONError(s.w, http.StatusBadRequest, "unsupported API version"); err != nil { + s.log.Error("Failed to write JSON", slog.String("err", err.Error())) + } } diff --git a/core/sv1/handle_com.go b/core/sv1/handle_com.go index 0ee9f0a..492175a 100644 --- a/core/sv1/handle_com.go +++ b/core/sv1/handle_com.go @@ -22,7 +22,10 @@ func (h *HandlerV1) Handle(w http.ResponseWriter, r *http.Request) { if err != nil { h.log.Error("Failed to generate UUID", slog.String("error", err.Error())) - utils.WriteJSONError(w, http.StatusInternalServerError, "failed to generate UUID: "+err.Error()) + + if err := utils.WriteJSONError(w, http.StatusInternalServerError, "failed to generate UUID: "+err.Error()); err != nil { + h.log.Error("Failed to write JSON", slog.String("err", err.Error())) + } return } log := h.log.With( @@ -44,7 +47,10 @@ func (h *HandlerV1) Handle(w http.ResponseWriter, r *http.Request) { slog.String("error", "invalid command"), slog.String("cmd", cmd), slog.Int("status", http.StatusBadRequest)) - utils.WriteJSONError(w, http.StatusBadRequest, "invalid command") + + if err := utils.WriteJSONError(w, http.StatusBadRequest, "invalid command"); err != nil { + h.log.Error("Failed to write JSON", slog.String("err", err.Error())) + } return } @@ -54,7 +60,10 @@ func (h *HandlerV1) Handle(w http.ResponseWriter, r *http.Request) { slog.String("error", "command not found"), slog.String("cmd", cmd), slog.Int("status", http.StatusNotFound)) - utils.WriteJSONError(w, http.StatusNotFound, "command not found") + + if err := utils.WriteJSONError(w, http.StatusNotFound, "command not found"); err != nil { + h.log.Error("Failed to write JSON", slog.String("err", err.Error())) + } return } @@ -64,7 +73,10 @@ func (h *HandlerV1) Handle(w http.ResponseWriter, r *http.Request) { slog.String("error", "command not found"), slog.String("cmd", cmd), slog.Int("status", http.StatusNotFound)) - utils.WriteJSONError(w, http.StatusNotFound, "command not found") + + if err := utils.WriteJSONError(w, http.StatusNotFound, "command not found"); err != nil { + h.log.Error("Failed to write JSON", slog.String("err", err.Error())) + } return } @@ -93,7 +105,10 @@ func (h *HandlerV1) Handle(w http.ResponseWriter, r *http.Request) { if err := L.DoFile(prepareLuaEnv); err != nil { log.Error("Failed to prepare lua environment", slog.String("error", err.Error())) - utils.WriteJSONError(w, http.StatusInternalServerError, "lua error: "+err.Error()) + + if err := utils.WriteJSONError(w, http.StatusInternalServerError, "lua error: "+err.Error()); err != nil { + h.log.Error("Failed to write JSON", slog.String("err", err.Error())) + } return } } else { @@ -103,7 +118,9 @@ func (h *HandlerV1) Handle(w http.ResponseWriter, r *http.Request) { if err := L.DoFile(scriptPath); err != nil { log.Error("Failed to execute lua script", slog.String("error", err.Error())) - utils.WriteJSONError(w, http.StatusInternalServerError, "lua error: "+err.Error()) + if err := utils.WriteJSONError(w, http.StatusInternalServerError, "lua error: "+err.Error()); err != nil { + h.log.Error("Failed to write JSON", slog.String("err", err.Error())) + } return } @@ -111,7 +128,10 @@ func (h *HandlerV1) Handle(w http.ResponseWriter, r *http.Request) { tbl, ok := lv.(*lua.LTable) if !ok { log.Error("Lua global 'Out' is not a table") - utils.WriteJSONError(w, http.StatusInternalServerError, "'Out' is not a table") + + if err := utils.WriteJSONError(w, http.StatusInternalServerError, "'Out' is not a table"); err != nil { + h.log.Error("Failed to write JSON", slog.String("err", err.Error())) + } return } @@ -119,7 +139,10 @@ func (h *HandlerV1) Handle(w http.ResponseWriter, r *http.Request) { resultTbl, ok := resultVal.(*lua.LTable) if !ok { log.Error("Lua global 'Result' is not a table") - utils.WriteJSONError(w, http.StatusInternalServerError, "'Result' is not a table") + + if err := utils.WriteJSONError(w, http.StatusInternalServerError, "'Result' is not a table"); err != nil { + h.log.Error("Failed to write JSON", slog.String("err", err.Error())) + } return } diff --git a/core/sv1/handle_list.go b/core/sv1/handle_list.go index af81db0..d4a908b 100644 --- a/core/sv1/handle_list.go +++ b/core/sv1/handle_list.go @@ -20,7 +20,10 @@ func (h *HandlerV1) HandleList(w http.ResponseWriter, r *http.Request) { if err != nil { h.log.Error("Failed to generate UUID", slog.String("error", err.Error())) - utils.WriteJSONError(w, http.StatusInternalServerError, "failed to generate UUID: "+err.Error()) + + if err := utils.WriteJSONError(w, http.StatusInternalServerError, "failed to generate UUID: "+err.Error()); err != nil { + h.log.Error("Failed to write JSON", slog.String("err", err.Error())) + } return } log := h.log.With( @@ -48,7 +51,10 @@ func (h *HandlerV1) HandleList(w http.ResponseWriter, r *http.Request) { if files, err = os.ReadDir(h.cfg.ComDir); err != nil { log.Error("Failed to read commands directory", slog.String("error", err.Error())) - utils.WriteJSONError(w, http.StatusInternalServerError, "failed to read commands directory: "+err.Error()) + + if err := utils.WriteJSONError(w, http.StatusInternalServerError, "failed to read commands directory: "+err.Error()); err != nil { + h.log.Error("Failed to write JSON", slog.String("err", err.Error())) + } return } diff --git a/core/update/update.go b/core/update/update.go index dbda3b0..8534219 100644 --- a/core/update/update.go +++ b/core/update/update.go @@ -313,7 +313,9 @@ func (u *Updater) InstallAndRestart() error { args[0] = targetPath env := utils.SetEviron(os.Environ(), "GS_PARENT_PID=-1") - run_manager.Clean() + if err := run_manager.Clean(); err != nil { + return err + } return syscall.Exec(targetPath, args, env) //u.cancel()