server: implement ISEs w/o public error outputs
This commit is contained in:
@@ -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."}
|
||||
|
||||
+5
-5
@@ -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
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user