From 8568b147bb018db7209532126478c48d35a750f9 Mon Sep 17 00:00:00 2001 From: William P Date: Sun, 17 May 2026 01:09:52 +0000 Subject: [PATCH] server: implement ISEs w/o public error outputs --- server/api/error.go | 8 ++++++++ server/api/user.go | 10 +++++----- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/server/api/error.go b/server/api/error.go index 44379b2..9d866cf 100644 --- a/server/api/error.go +++ b/server/api/error.go @@ -38,4 +38,12 @@ func ErrRender(err error) render.Renderer { } } +func ErrInternal(err error) render.Renderer { + return &ErrResponse{ + Err: err, + HTTPStatusCode: 500, + StatusText: "Internal server error.", + } +} + var ErrNotFound = &ErrResponse{HTTPStatusCode: 404, StatusText: "Resource not found."} diff --git a/server/api/user.go b/server/api/user.go index c1d2cef..0bed69a 100644 --- a/server/api/user.go +++ b/server/api/user.go @@ -25,14 +25,14 @@ func ListUsers(w http.ResponseWriter, r *http.Request) { dbUsers, err := dbGetAllUsers() if err != nil { slog.Error("user: failed to fetch users", "error", err) - render.Render(w, r, ErrRender(err)) + render.Render(w, r, ErrInternal(err)) return } slog.Debug("user: successfully fetched users", "count", len(dbUsers)) if err := render.RenderList(w, r, NewUserListResponse(dbUsers)); err != nil { slog.Error("user: failed to render user list response", "error", err) - render.Render(w, r, ErrRender(err)) + render.Render(w, r, ErrInternal(err)) return } } @@ -53,7 +53,7 @@ func GetUser(w http.ResponseWriter, r *http.Request) { render.Render(w, r, ErrNotFound) } else { slog.Error("user: failed to fetch user", "userid", parsed.String(), "error", err) - render.Render(w, r, ErrRender(err)) + render.Render(w, r, ErrInternal(err)) } return } @@ -61,7 +61,7 @@ func GetUser(w http.ResponseWriter, r *http.Request) { slog.Debug("user: rendering user", "userid", user.ID, "username", user.Name) if err := render.Render(w, r, NewUserPayloadResponse(user)); err != nil { slog.Error("user: failed to render user", "userid", parsed.String(), "error", err) - render.Render(w, r, ErrRender(err)) + render.Render(w, r, ErrInternal(err)) } } @@ -104,7 +104,7 @@ func NewUser(w http.ResponseWriter, r *http.Request) { err = dbAddUser(&newUser) if err != nil { slog.Error("user: failed to add new user", "userID", newUser.ID, "userName", newUser.Name, "error", err) - render.Render(w, r, ErrRender(err)) + render.Render(w, r, ErrInternal(err)) return }