public async Task <Uri> Put(Stream stream, TimeSpan?timeToLive = null, CancellationToken cancellationToken = new CancellationToken()) { var name = _fileNameCreator.Create(); var address = _uriCreator.Create(name); var reference = _enchiladaFilesystemResolver.OpenFileReference(address.AbsoluteUri); using (var writeSteam = await reference.OpenWriteAsync() .ConfigureAwait(false)) { await stream.CopyToAsync(writeSteam) .ConfigureAwait(false); await stream.FlushAsync(cancellationToken) .ConfigureAwait(false); } return(address); }