fix queue cancellation

This commit is contained in:
rootdarkarchon
2023-01-22 00:37:41 +01:00
parent 523135c5b2
commit 05aa350c34

View File

@@ -105,7 +105,7 @@ public partial class ApiController
{ {
try try
{ {
await SendRequestAsync(HttpMethod.Get, MareFiles.RequestCancelFullPath(downloadFileTransfer.DownloadUri, requestId), downloadCt).ConfigureAwait(false); await SendRequestAsync(HttpMethod.Get, MareFiles.RequestCancelFullPath(downloadFileTransfer.DownloadUri, requestId)).ConfigureAwait(false);
alreadyCancelled = true; alreadyCancelled = true;
} }
catch { } catch { }
@@ -118,7 +118,7 @@ public partial class ApiController
{ {
try try
{ {
await SendRequestAsync(HttpMethod.Get, MareFiles.RequestCancelFullPath(downloadFileTransfer.DownloadUri, requestId), downloadCt).ConfigureAwait(false); await SendRequestAsync(HttpMethod.Get, MareFiles.RequestCancelFullPath(downloadFileTransfer.DownloadUri, requestId)).ConfigureAwait(false);
} }
catch { } catch { }
} }
@@ -205,13 +205,13 @@ public partial class ApiController
} }
} }
private async Task<HttpResponseMessage> SendRequestAsync(HttpMethod method, Uri uri, CancellationToken ct) private async Task<HttpResponseMessage> SendRequestAsync(HttpMethod method, Uri uri, CancellationToken? ct = null)
{ {
using var requestMessage = new HttpRequestMessage(method, uri); using var requestMessage = new HttpRequestMessage(method, uri);
return await SendRequestInternalAsync(requestMessage, ct).ConfigureAwait(false); return await SendRequestInternalAsync(requestMessage, ct).ConfigureAwait(false);
} }
private async Task<HttpResponseMessage> SendRequestInternalAsync(HttpRequestMessage requestMessage, CancellationToken ct) private async Task<HttpResponseMessage> SendRequestInternalAsync(HttpRequestMessage requestMessage, CancellationToken? ct = null)
{ {
requestMessage.Headers.Authorization = new AuthenticationHeaderValue("Bearer", this.Authorization); requestMessage.Headers.Authorization = new AuthenticationHeaderValue("Bearer", this.Authorization);
@@ -224,7 +224,9 @@ public partial class ApiController
Logger.Debug("Sending " + requestMessage.Method + " to " + requestMessage.RequestUri); Logger.Debug("Sending " + requestMessage.Method + " to " + requestMessage.RequestUri);
} }
return await _httpClient.SendAsync(requestMessage, ct).ConfigureAwait(false); if(ct != null)
return await _httpClient.SendAsync(requestMessage, ct.Value).ConfigureAwait(false);
return await _httpClient.SendAsync(requestMessage).ConfigureAwait(false);
} }
private async Task<HttpResponseMessage> SendRequestAsync<T>(HttpMethod method, Uri uri, T content, CancellationToken ct) where T : class private async Task<HttpResponseMessage> SendRequestAsync<T>(HttpMethod method, Uri uri, T content, CancellationToken ct) where T : class