cancel method
Aborts the upload and releases server-side resources.
Implementations should swallow their own errors; a failure to clean up must not mask the cancellation.
Implementation
@override
Future<void> cancel(UploadSession session) async {
await _wait();
_uploads.remove(session.uploadId);
}