Skip to content

Commit

Permalink
Fixes the Minio5.0 nuget cancellationToken issue (#866)
Browse files Browse the repository at this point in the history
* Fixes the Minio5.0 nuget cancellationToken issue

* lint changes

---------

Co-authored-by: Ersan Bozduman <[email protected]>
  • Loading branch information
ebozduman and Ersan Bozduman authored Sep 28, 2023
1 parent 9d04876 commit a01c54e
Showing 1 changed file with 7 additions and 3 deletions.
10 changes: 7 additions & 3 deletions Minio/Helper/OperationsHelper.cs
Original file line number Diff line number Diff line change
Expand Up @@ -76,11 +76,15 @@ private Task GetObjectFileAsync(GetObjectArgs args, ObjectStat objectStat,

async Task callbackAsync(Stream stream, CancellationToken cancellationToken)
{
using var dest = new FileStream(tempFileName, FileMode.Create, FileAccess.Write);
#if NETSTANDARD
using var dest = new FileStream(tempFileName, FileMode.Create, FileAccess.Write);
await stream.CopyToAsync(dest).ConfigureAwait(false);
#else
await stream.CopyToAsync(dest, cancellationToken).ConfigureAwait(false);
var dest = new FileStream(tempFileName, FileMode.Create, FileAccess.Write);
await using (dest.ConfigureAwait(false))
{
await stream.CopyToAsync(dest, cancellationToken).ConfigureAwait(false);
}
#endif
}

Expand All @@ -90,7 +94,7 @@ async Task callbackAsync(Stream stream, CancellationToken cancellationToken)
cts.CancelAfter(TimeSpan.FromSeconds(15));
args.WithCallbackStream(async (stream, cancellationToken) =>
{
await callbackAsync(stream, cts.Token).ConfigureAwait(false);
await callbackAsync(stream, cancellationToken).ConfigureAwait(false);
Utils.MoveWithReplace(tempFileName, args.FileName);
});
return GetObjectStreamAsync(args, cancellationToken);
Expand Down

0 comments on commit a01c54e

Please sign in to comment.