code: func (handler *UnroutedHandler) DelFile(w http.ResponseWriter, r *http.Request) {
  	// Abort the request handling if the required interface is not implemented
  	if !handler.composer.UsesTerminater {
  		handler.sendError(w, r, ErrNotImplemented)
  		return
  	}
  
  	id, err := extractIDFromPath(r.URL.Path)
  	if err != nil {
  		handler.sendError(w, r, err)
  		return
  	}
  
  	if handler.composer.UsesLocker {
  		locker := handler.composer.Locker
  		if err := locker.LockUpload(id); err != nil {
  			handler.sendError(w, r, err)
  			return
  		}
  
  		defer locker.UnlockUpload(id)
  	}
  
  	var info FileInfo
  	if handler.config.NotifyTerminatedUploads {
  		info, err = handler.composer.Core.GetInfo(id)
  		if err != nil {
  			handler.sendError(w, r, err)
  			return
  		}
  	}
  
  	err = handler.composer.Terminater.Terminate(id)
  	if err != nil {
  		handler.sendError(w, r, err)
  		return
  	}
  
  	handler.sendResp(w, r, http.StatusNoContent)
  
  	if handler.config.NotifyTerminatedUploads {
  		handler.TerminatedUploads <- info
  	}
  
  	handler.Metrics.incUploadsTerminated()
  }
docs: // DelFile terminates an upload permanently.