fix(handlers): Upload io.Copy error → 500 not 413 (B6), Me distinguishes no-rows from DB errors (B7)
This commit is contained in:
@@ -146,10 +146,17 @@ func (h *H) Upload(c *gin.Context) {
|
||||
err(c, http.StatusInternalServerError, "internal", "create tmp")
|
||||
return
|
||||
}
|
||||
// B6: only MaxBytesError returns 413; other io.Copy failures (disk full,
|
||||
// connection drop) return 500.
|
||||
if _, e := io.Copy(out, src); e != nil {
|
||||
out.Close()
|
||||
os.Remove(tmp)
|
||||
err(c, http.StatusRequestEntityTooLarge, "too_large", "upload failed")
|
||||
var mbe *http.MaxBytesError
|
||||
if errors.As(e, &mbe) {
|
||||
err(c, http.StatusRequestEntityTooLarge, "too_large", "file exceeds upload limit")
|
||||
return
|
||||
}
|
||||
err(c, http.StatusInternalServerError, "internal", "upload failed")
|
||||
return
|
||||
}
|
||||
out.Close()
|
||||
|
||||
Reference in New Issue
Block a user