diff --git a/Octokit/Http/HttpClientAdapter.cs b/Octokit/Http/HttpClientAdapter.cs index 1656b023..2ee9d25f 100644 --- a/Octokit/Http/HttpClientAdapter.cs +++ b/Octokit/Http/HttpClientAdapter.cs @@ -6,6 +6,7 @@ using System.Linq; using System.Net; using System.Net.Http; using System.Text; +using System.Threading; using System.Threading.Tasks; namespace Octokit.Internal @@ -27,7 +28,12 @@ namespace Octokit.Internal this.webProxy = webProxy; } - public async Task> Send(IRequest request) + public Task> Send(IRequest request) + { + return Send(request, CancellationToken.None); + } + + public async Task> Send(IRequest request, CancellationToken cancellationToken) { Ensure.ArgumentNotNull(request, "request"); @@ -54,7 +60,7 @@ namespace Octokit.Internal using (var requestMessage = BuildRequestMessage(request)) { // Make the request - var responseMessage = await http.SendAsync(requestMessage, HttpCompletionOption.ResponseContentRead) + var responseMessage = await http.SendAsync(requestMessage, HttpCompletionOption.ResponseContentRead,cancellationToken) .ConfigureAwait(false); return await BuildResponse(responseMessage).ConfigureAwait(false); } diff --git a/Octokit/Http/IHttpClient.cs b/Octokit/Http/IHttpClient.cs index 4e699d31..eaf7696c 100644 --- a/Octokit/Http/IHttpClient.cs +++ b/Octokit/Http/IHttpClient.cs @@ -1,4 +1,5 @@ -using System.Threading.Tasks; +using System.Threading; +using System.Threading.Tasks; namespace Octokit.Internal { @@ -17,5 +18,14 @@ namespace Octokit.Internal /// A that represents the HTTP request /// A of Task> Send(IRequest request); + + /// + /// Sends the specified request and returns a response. + /// + /// The type of data to send + /// A that represents the HTTP request + /// Used to cancel the request + /// A of + Task> Send(IRequest request, CancellationToken cancellationToken); } }