Don't return 500s from media API download requests

This commit is contained in:
Neil Alexander 2020-05-11 11:01:24 +01:00
parent d6e18a33ce
commit 4fd97df2c5

View file

@ -118,7 +118,10 @@ func Download(
) )
if err != nil { if err != nil {
// TODO: Handle the fact we might have started writing the response // TODO: Handle the fact we might have started writing the response
dReq.jsonErrorResponse(w, util.ErrorResponse(err)) dReq.jsonErrorResponse(w, util.JSONResponse{
Code: http.StatusNotFound,
JSON: jsonerror.NotFound("Failed to download: " + err.Error()),
})
return return
} }
@ -138,7 +141,7 @@ func (r *downloadRequest) jsonErrorResponse(w http.ResponseWriter, res util.JSON
if err != nil { if err != nil {
r.Logger.WithError(err).Error("Failed to marshal JSONResponse") r.Logger.WithError(err).Error("Failed to marshal JSONResponse")
// this should never fail to be marshalled so drop err to the floor // this should never fail to be marshalled so drop err to the floor
res = util.MessageResponse(http.StatusInternalServerError, "Internal Server Error") res = util.MessageResponse(http.StatusNotFound, "Download request failed: "+err.Error())
resBytes, _ = json.Marshal(res.JSON) resBytes, _ = json.Marshal(res.JSON)
} }