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."}
|
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()
|
dbUsers, err := dbGetAllUsers()
|
||||||
if err != nil {
|
if err != nil {
|
||||||
slog.Error("user: failed to fetch users", "error", err)
|
slog.Error("user: failed to fetch users", "error", err)
|
||||||
render.Render(w, r, ErrRender(err))
|
render.Render(w, r, ErrInternal(err))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
slog.Debug("user: successfully fetched users", "count", len(dbUsers))
|
slog.Debug("user: successfully fetched users", "count", len(dbUsers))
|
||||||
if err := render.RenderList(w, r, NewUserListResponse(dbUsers)); err != nil {
|
if err := render.RenderList(w, r, NewUserListResponse(dbUsers)); err != nil {
|
||||||
slog.Error("user: failed to render user list response", "error", err)
|
slog.Error("user: failed to render user list response", "error", err)
|
||||||
render.Render(w, r, ErrRender(err))
|
render.Render(w, r, ErrInternal(err))
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
@@ -53,7 +53,7 @@ func GetUser(w http.ResponseWriter, r *http.Request) {
|
|||||||
render.Render(w, r, ErrNotFound)
|
render.Render(w, r, ErrNotFound)
|
||||||
} else {
|
} else {
|
||||||
slog.Error("user: failed to fetch user", "userid", parsed.String(), "error", err)
|
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
|
return
|
||||||
}
|
}
|
||||||
@@ -61,7 +61,7 @@ func GetUser(w http.ResponseWriter, r *http.Request) {
|
|||||||
slog.Debug("user: rendering user", "userid", user.ID, "username", user.Name)
|
slog.Debug("user: rendering user", "userid", user.ID, "username", user.Name)
|
||||||
if err := render.Render(w, r, NewUserPayloadResponse(user)); err != nil {
|
if err := render.Render(w, r, NewUserPayloadResponse(user)); err != nil {
|
||||||
slog.Error("user: failed to render user", "userid", parsed.String(), "error", err)
|
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)
|
err = dbAddUser(&newUser)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
slog.Error("user: failed to add new user", "userID", newUser.ID, "userName", newUser.Name, "error", err)
|
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
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user