From 04ea5f8ef7738be7a0bf4953ca7057c7232231ea Mon Sep 17 00:00:00 2001 From: Stevan Freeborn <65925598+StevanFreeborn@users.noreply.github.com> Date: Mon, 24 Nov 2025 21:52:22 -0600 Subject: [PATCH] fix: address unchecked errors --- internal/handlers/main.go | 30 ++++++++++++++++++++++-------- 1 file changed, 22 insertions(+), 8 deletions(-) diff --git a/internal/handlers/main.go b/internal/handlers/main.go index 6fd7e0a..5273311 100644 --- a/internal/handlers/main.go +++ b/internal/handlers/main.go @@ -30,23 +30,23 @@ type IndexViewModel struct { } func Index(w http.ResponseWriter, r *http.Request) { - t, err := template.ParseFS(assets.Templates, "templates/index.gohtml") + t, parseTemplateError := template.ParseFS(assets.Templates, "templates/index.gohtml") - if err != nil { + if parseTemplateError != nil { http.Error(w, "Unable to load template", http.StatusInternalServerError) return } - linksFile, err := assets.JSON.Open(LINKS_JSON_PATH) + linksFile, openLinksFileError := assets.JSON.Open(LINKS_JSON_PATH) - if err != nil { + if openLinksFileError != nil { http.Error(w, "Unable to load links", http.StatusInternalServerError) return } - links, err := readLinksFromJSON(linksFile) + links, readLinksFileError := readLinksFromJSON(linksFile) - if err != nil { + if readLinksFileError != nil { http.Error(w, "Unable to parse links", http.StatusInternalServerError) return } @@ -58,7 +58,12 @@ func Index(w http.ResponseWriter, r *http.Request) { Links: links, } - t.Execute(w, viewModel) + executeError := t.Execute(w, viewModel) + + if executeError != nil { + http.Error(w, "Unable to render template", http.StatusInternalServerError) + return + } } func CSS(w http.ResponseWriter, r *http.Request) { @@ -74,7 +79,16 @@ func Images(w http.ResponseWriter, r *http.Request) { } func readLinksFromJSON(file fs.File) ([]Link, error) { - defer file.Close() + var closeErr error = nil + + defer func() { + closeErr = file.Close() + }() + + if closeErr != nil { + return nil, closeErr + } + var links []Link decoder := json.NewDecoder(file)