code: func (handler *UnroutedHandler) finishUploadIfComplete(info FileInfo) error {
  	// If the upload is completed, ...
  	if !info.SizeIsDeferred && info.Offset == info.Size {
  		// ... allow custom mechanism to finish and cleanup the upload
  		if handler.composer.UsesFinisher {
  			if err := handler.composer.Finisher.FinishUpload(info.ID); err != nil {
  				return err
  			}
  		}
  
  		// ... send the info out to the channel
  		if handler.config.NotifyCompleteUploads {
  			handler.CompleteUploads <- info
  		}
  
  		handler.Metrics.incUploadsFinished()
  	}
  
  	return nil
  }
docs: // finishUploadIfComplete checks whether an upload is completed (i.e. upload offset
  // matches upload size) and if so, it will call the data store's FinishUpload
  // function and send the necessary message on the CompleteUpload channel.