Skip to content

Commit f732268

Browse files
committed
Added CancellationToken Pass through to Client
1 parent a5b7300 commit f732268

File tree

4 files changed

+8
-8
lines changed

4 files changed

+8
-8
lines changed

src/Twilio/Clients/ITwilioRestClient.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ public interface ITwilioRestClient
3737
///
3838
/// <param name="request">Request to make</param>
3939
/// <returns>response of the request</returns>
40-
System.Threading.Tasks.Task<Response> RequestAsync(Request request);
40+
System.Threading.Tasks.Task<Response> RequestAsync(Request request, CancellationToken cancellationToken = default);
4141
#endif
4242
}
4343
}

src/Twilio/Clients/TwilioRestClient.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -169,7 +169,7 @@ public Response Request(Request request)
169169
///
170170
/// <param name="request">request to make</param>
171171
/// <returns>Task that resolves to the response of the request</returns>
172-
public async Task<Response> RequestAsync(Request request)
172+
public async Task<Response> RequestAsync(Request request, CancellationToken cancellationToken = default)
173173
{
174174
if(_username != null && _password != null){
175175
request.SetAuth(_username, _password);
@@ -190,7 +190,7 @@ public async Task<Response> RequestAsync(Request request)
190190
Response response;
191191
try
192192
{
193-
response = await HttpClient.MakeRequestAsync(request);
193+
response = await HttpClient.MakeRequestAsync(request, cancellationToken);
194194
}
195195
catch (Exception clientException)
196196
{

src/Twilio/Http/HttpClient.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -34,7 +34,7 @@ public abstract class HttpClient
3434
/// <param name="request">request to make</param>
3535
/// <exception>throws exception on network or connection errors.</exception>
3636
/// <returns>response of the request</returns>
37-
public abstract System.Threading.Tasks.Task<Response> MakeRequestAsync(Request request);
37+
public abstract System.Threading.Tasks.Task<Response> MakeRequestAsync(Request request, CancellationToken cancellationToken = default);
3838
#endif
3939

4040
/// <summary>

src/Twilio/Http/SystemNetHttpClient.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ public override Response MakeRequest(Request request)
5858
/// </summary>
5959
/// <param name="request">Twilio response</param>
6060
/// <returns>Task that resolves to the response</returns>
61-
public override async Task<Response> MakeRequestAsync(Request request)
61+
public override async Task<Response> MakeRequestAsync(Request request, CancellationToken cancellationToken = default)
6262
{
6363
var httpRequest = BuildHttpRequest(request);
6464
if (!Equals(request.Method, HttpMethod.Get))
@@ -76,13 +76,13 @@ public override async Task<Response> MakeRequestAsync(Request request)
7676
this.LastRequest = request;
7777
this.LastResponse = null;
7878

79-
var httpResponse = await _httpClient.SendAsync(httpRequest).ConfigureAwait(false);
80-
var reader = new StreamReader(await httpResponse.Content.ReadAsStreamAsync().ConfigureAwait(false));
79+
var httpResponse = await _httpClient.SendAsync(httpRequest, cancellationToken).ConfigureAwait(false);
80+
var reader = new StreamReader(await httpResponse.Content.ReadAsStreamAsync(cancellationToken).ConfigureAwait(false));
8181

8282
// Create and return a new Response. Keep a reference to the last
8383
// response for debugging, but don't return it as it may be shared
8484
// among threads.
85-
var response = new Response(httpResponse.StatusCode, await reader.ReadToEndAsync().ConfigureAwait(false), httpResponse.Headers);
85+
var response = new Response(httpResponse.StatusCode, await reader.ReadToEndAsync(cancellationToken).ConfigureAwait(false), httpResponse.Headers);
8686
this.LastResponse = response;
8787
return response;
8888
}

0 commit comments

Comments
 (0)