feat(http/releases): report errors to end-users. (#596)

feat(http): report errors to end-users.
This commit is contained in:
Kyle Sanderson 2022-12-30 15:35:44 -08:00 committed by GitHub
parent 95756377cb
commit 154b2d6578
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -104,7 +104,10 @@ func (h releaseHandler) findReleases(w http.ResponseWriter, r *http.Request) {
releases, nextCursor, count, err := h.service.Find(r.Context(), query)
if err != nil {
h.encoder.StatusNotFound(r.Context(), w)
h.encoder.StatusResponse(r.Context(), w, map[string]interface{}{
"code": "INTERNAL_SERVER_ERROR",
"message": err.Error(),
}, http.StatusInternalServerError)
return
}
@ -125,7 +128,10 @@ func (h releaseHandler) findRecentReleases(w http.ResponseWriter, r *http.Reques
releases, err := h.service.FindRecent(r.Context())
if err != nil {
h.encoder.StatusNotFound(r.Context(), w)
h.encoder.StatusResponse(r.Context(), w, map[string]interface{}{
"code": "INTERNAL_SERVER_ERROR",
"message": err.Error(),
}, http.StatusInternalServerError)
return
}
@ -141,7 +147,10 @@ func (h releaseHandler) findRecentReleases(w http.ResponseWriter, r *http.Reques
func (h releaseHandler) getIndexerOptions(w http.ResponseWriter, r *http.Request) {
stats, err := h.service.GetIndexerOptions(r.Context())
if err != nil {
h.encoder.StatusNotFound(r.Context(), w)
h.encoder.StatusResponse(r.Context(), w, map[string]interface{}{
"code": "INTERNAL_SERVER_ERROR",
"message": err.Error(),
}, http.StatusInternalServerError)
return
}
@ -152,7 +161,10 @@ func (h releaseHandler) getStats(w http.ResponseWriter, r *http.Request) {
stats, err := h.service.Stats(r.Context())
if err != nil {
h.encoder.StatusNotFound(r.Context(), w)
h.encoder.StatusResponse(r.Context(), w, map[string]interface{}{
"code": "INTERNAL_SERVER_ERROR",
"message": err.Error(),
}, http.StatusInternalServerError)
return
}
@ -162,7 +174,10 @@ func (h releaseHandler) getStats(w http.ResponseWriter, r *http.Request) {
func (h releaseHandler) deleteReleases(w http.ResponseWriter, r *http.Request) {
err := h.service.Delete(r.Context())
if err != nil {
h.encoder.StatusInternalError(w)
h.encoder.StatusResponse(r.Context(), w, map[string]interface{}{
"code": "INTERNAL_SERVER_ERROR",
"message": err.Error(),
}, http.StatusInternalServerError)
return
}