Skip to content

Commit e35a0c0

Browse files
committed
Added Cancellation to TokenHttpClient
1 parent f732268 commit e35a0c0

File tree

3 files changed

+7
-7
lines changed

3 files changed

+7
-7
lines changed

src/Twilio/Clients/BearerToken/TwilioOrgsTokenRestClient.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -236,7 +236,7 @@ public bool isTokenExpired(string token){
236236
///
237237
/// <param name="request">request to make</param>
238238
/// <returns>Task that resolves to the response of the request</returns>
239-
public async Task<Response> RequestAsync(TokenRequest request)
239+
public async Task<Response> RequestAsync(TokenRequest request, CancellationToken cancellationToken = default)
240240
{
241241
request.SetAuth(_accessToken);
242242

@@ -252,7 +252,7 @@ public async Task<Response> RequestAsync(TokenRequest request)
252252
Response response;
253253
try
254254
{
255-
response = await HttpClient.MakeRequestAsync(request);
255+
response = await HttpClient.MakeRequestAsync(request, cancellationToken);
256256
}
257257
catch (Exception clientException)
258258
{

src/Twilio/Http/BearerToken/SystemNetTokenHttpClient.cs

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ public override Response MakeRequest(TokenRequest request)
6060
/// </summary>
6161
/// <param name="request">Twilio response</param>
6262
/// <returns>Task that resolves to the response</returns>
63-
public override async Task<Response> MakeRequestAsync(TokenRequest request)
63+
public override async Task<Response> MakeRequestAsync(TokenRequest request, CancellationToken cancellationToken = default)
6464
{
6565
var httpRequest = BuildHttpRequest(request);
6666
if (!Equals(request.Method, HttpMethod.Get))
@@ -81,13 +81,13 @@ public override async Task<Response> MakeRequestAsync(TokenRequest request)
8181
this.LastRequest = request;
8282
this.LastResponse = null;
8383

84-
var httpResponse = await _httpClient.SendAsync(httpRequest).ConfigureAwait(false);
85-
var reader = new StreamReader(await httpResponse.Content.ReadAsStreamAsync().ConfigureAwait(false));
84+
var httpResponse = await _httpClient.SendAsync(httpRequest, cancellationToken).ConfigureAwait(false);
85+
var reader = new StreamReader(await httpResponse.Content.ReadAsStreamAsync(cancellationToken).ConfigureAwait(false));
8686

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

src/Twilio/Http/BearerToken/TokenHttpClient.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,7 @@ public abstract class TokenHttpClient
3636
/// <param name="request">request to make</param>
3737
/// <exception>throws exception on network or connection errors.</exception>
3838
/// <returns>response of the request</returns>
39-
public abstract System.Threading.Tasks.Task<Response> MakeRequestAsync(TokenRequest request);
39+
public abstract System.Threading.Tasks.Task<Response> MakeRequestAsync(TokenRequest request, CancellationToken cancellationToken = Default);
4040
#endif
4141

4242
}

0 commit comments

Comments
 (0)