8000 feat: Added Cancellation Token by joewashear007 · Pull Request #772 · twilio/twilio-csharp · GitHub
[go: up one dir, main page]

Skip to content

feat: Added Cancellation Token #772

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Open
wants to merge 8 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
Added Cancellation to TokenHttpClient
  • Loading branch information
joewashear007 committed Jan 13, 2025
commit e35a0c070de217843608a25b0d65dc7bcfc671a7
4 changes: 2 additions & 2 deletions src/Twilio/Clients/BearerToken/TwilioOrgsTokenRestClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -236,7 +236,7 @@ public bool isTokenExpired(string token){
///
/// <param name="request">request to make</param>
/// <returns>Task that resolves to the response of the request</returns>
public async Task<Response> RequestAsync(TokenRequest request)
public async Task<Response> RequestAsync(TokenRequest request, CancellationToken cancellationToken = default)
{
request.SetAuth(_accessToken);

Expand All @@ -252,7 +252,7 @@ public async Task<Response> RequestAsync(TokenRequest request)
Response response;
try
{
response = await HttpClient.MakeRequestAsync(request);
response = await HttpClient.MakeRequestAsync(request, cancellationToken);
}
catch (Exception clientException)
{
Expand Down
8 changes: 4 additions & 4 deletions src/Twilio/Http/BearerToken/SystemNetTokenHttpClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ public override Response MakeRequest(TokenRequest request)
/// </summary>
/// <param name="request">Twilio response</param>
/// <returns>Task that resolves to the response</returns>
public override async Task<Response> MakeRequestAsync(TokenRequest request)
public override async Task<Response> MakeRequestAsync(TokenRequest request, CancellationToken cancellationToken = default)
{
var httpRequest = BuildHttpRequest(request);
if (!Equals(request.Method, HttpMethod.Get))
Expand All @@ -81,13 +81,13 @@ public override async Task<Response> MakeRequestAsync(TokenRequest request)
this.LastRequest = request;
this.LastResponse = null;

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

// Create and return a new Response. Keep a reference to the last
// response for debugging, but don't return it as it may be shared
// among threads.
var response = new Response(httpResponse.StatusCode, await reader.ReadToEndAsync().ConfigureAwait(false), httpResponse.Headers);
var response = new Response(httpResponse.StatusCode, await reader.ReadToEndAsync(cancellationToken).ConfigureAwait(false), httpResponse.Headers);
this.LastResponse = response;
return response;
}
Expand Down
2 changes: 1 addition & 1 deletion src/Twilio/Http/BearerToken/TokenHttpClient.cs
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ public abstract class TokenHttpClient
/// <param name="request">request to make</param>
/// <exception>throws exception on network or connection errors.</exception>
/// <returns>response of the request</returns>
public abstract System.Threading.Tasks.Task<Response> MakeRequestAsync(TokenRequest request);
public abstract System.Threading.Tasks.Task<Response> MakeRequestAsync(TokenRequest request, CancellationToken cancellationToken = Default);
#endif

}
Expand Down
0