1
0
mirror of https://github.com/JKorf/CryptoExchange.Net synced 2025-12-16 02:41:03 +00:00

Pass CancellationToken to Content.ReadAsStreamAsync (#262)

This commit is contained in:
Jonnern 2025-12-15 16:33:06 +01:00 committed by GitHub
parent f3d535f286
commit f125bc88b0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
5 changed files with 16 additions and 9 deletions

View File

@ -49,7 +49,7 @@ namespace CryptoExchange.Net.UnitTests.TestImplementations
var response = new Mock<IResponse>();
response.Setup(c => c.IsSuccessStatusCode).Returns(true);
response.Setup(c => c.GetResponseStreamAsync()).Returns(Task.FromResult((Stream)responseStream));
response.Setup(c => c.GetResponseStreamAsync(It.IsAny<CancellationToken>())).Returns(Task.FromResult((Stream)responseStream));
var headers = new Dictionary<string, string[]>();
var request = new Mock<IRequest>();
@ -108,7 +108,7 @@ namespace CryptoExchange.Net.UnitTests.TestImplementations
var response = new Mock<IResponse>();
response.Setup(c => c.IsSuccessStatusCode).Returns(false);
response.Setup(c => c.GetResponseStreamAsync()).Returns(Task.FromResult((Stream)responseStream));
response.Setup(c => c.GetResponseStreamAsync(It.IsAny<CancellationToken>())).Returns(Task.FromResult((Stream)responseStream));
var headers = new List<KeyValuePair<string, string[]>>();
var request = new Mock<IRequest>();

View File

@ -443,7 +443,7 @@ namespace CryptoExchange.Net.Clients
{
response = await request.GetResponseAsync(cancellationToken).ConfigureAwait(false);
sw.Stop();
responseStream = await response.GetResponseStreamAsync().ConfigureAwait(false);
responseStream = await response.GetResponseStreamAsync(cancellationToken).ConfigureAwait(false);
var outputOriginalData = ApiOptions.OutputOriginalData ?? ClientOptions.OutputOriginalData;
accessor = CreateAccessor();

View File

@ -2,6 +2,7 @@
using System.Collections.Generic;
using System.IO;
using System.Net;
using System.Threading;
using System.Threading.Tasks;
namespace CryptoExchange.Net.Interfaces
@ -40,7 +41,7 @@ namespace CryptoExchange.Net.Interfaces
/// Get the response stream
/// </summary>
/// <returns></returns>
Task<Stream> GetResponseStreamAsync();
Task<Stream> GetResponseStreamAsync(CancellationToken cancellationToken);
/// <summary>
/// Close the response

View File

@ -1,11 +1,12 @@
using System;
using CryptoExchange.Net.Interfaces;
using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Net;
using System.Net.Http;
using System.Threading;
using System.Threading.Tasks;
using CryptoExchange.Net.Interfaces;
namespace CryptoExchange.Net.Requests
{
@ -41,9 +42,13 @@ namespace CryptoExchange.Net.Requests
}
/// <inheritdoc />
public async Task<Stream> GetResponseStreamAsync()
public async Task<Stream> GetResponseStreamAsync(CancellationToken cancellationToken)
{
return await _response.Content.ReadAsStreamAsync().ConfigureAwait(false);
#if NET5_0_OR_GREATER
return await _response.Content.ReadAsStreamAsync(cancellationToken).ConfigureAwait(false);
#else
return await _response.Content.ReadAsStreamAsync().ConfigureAwait(false);
#endif
}
/// <inheritdoc />

View File

@ -3,6 +3,7 @@ using System;
using System.Collections.Generic;
using System.IO;
using System.Net;
using System.Threading;
using System.Threading.Tasks;
namespace CryptoExchange.Net.Testing.Implementations
@ -32,6 +33,6 @@ namespace CryptoExchange.Net.Testing.Implementations
{
}
public Task<Stream> GetResponseStreamAsync() => Task.FromResult(_response);
public Task<Stream> GetResponseStreamAsync(CancellationToken cancellationToken) => Task.FromResult(_response);
}
}