mirror of
https://github.com/project-zot/zot.git
synced 2026-06-17 12:58:02 +08:00
Clean blob uploads when clients interrupts uploading, closes #225
This commit is contained in:
committed by
Ramkumar Chinchani
parent
d69ee3f562
commit
20f4051446
@@ -904,6 +904,14 @@ func (rh *RouteHandler) PatchBlobUpload(w http.ResponseWriter, r *http.Request)
|
||||
|
||||
if err != nil {
|
||||
switch err {
|
||||
case io.ErrUnexpectedEOF:
|
||||
rh.c.Log.Warn().Msg("received unexpected EOF, removing .uploads/ files")
|
||||
|
||||
if err = is.DeleteBlobUpload(name, sessionID); err != nil {
|
||||
rh.c.Log.Error().Err(err).Msgf("couldn't remove blobUpload %s in repo %s", sessionID, name)
|
||||
}
|
||||
|
||||
w.WriteHeader(http.StatusInternalServerError)
|
||||
case errors.ErrBadUploadRange:
|
||||
WriteJSON(w, http.StatusRequestedRangeNotSatisfiable,
|
||||
NewErrorList(NewError(BLOB_UPLOAD_INVALID, map[string]string{"session_id": sessionID})))
|
||||
@@ -1009,6 +1017,14 @@ func (rh *RouteHandler) UpdateBlobUpload(w http.ResponseWriter, r *http.Request)
|
||||
_, err = is.PutBlobChunk(name, sessionID, from, to, r.Body)
|
||||
if err != nil {
|
||||
switch err {
|
||||
case io.ErrUnexpectedEOF:
|
||||
rh.c.Log.Warn().Msg("received unexpected EOF, removing .uploads/ files")
|
||||
|
||||
if err = is.DeleteBlobUpload(name, sessionID); err != nil {
|
||||
rh.c.Log.Error().Err(err).Msgf("couldn't remove blobUpload %s in repo %s", sessionID, name)
|
||||
}
|
||||
|
||||
w.WriteHeader(http.StatusInternalServerError)
|
||||
case errors.ErrBadUploadRange:
|
||||
WriteJSON(w, http.StatusBadRequest,
|
||||
NewErrorList(NewError(BLOB_UPLOAD_INVALID, map[string]string{"session_id": sessionID})))
|
||||
|
||||
Reference in New Issue
Block a user