diff options
| author | dkanada <dkanada@users.noreply.github.com> | 2020-11-18 13:46:13 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-11-18 13:46:13 +0900 |
| commit | 742966573d448ce48715245c083b845ec6df3f58 (patch) | |
| tree | bbb004dacbd65d8504d84d232a94ec0e3745a3f2 /Jellyfin.Api/Helpers/FileStreamResponseHelpers.cs | |
| parent | a8524be6be3ff7c527d31cbe3c4e0edc7ffa9d56 (diff) | |
| parent | 4b1c9dc9eaa120a30a7820257a83dd5aa3ecd9f4 (diff) | |
Merge pull request #4503 from jellyfin/cancellation
Pass cancellation where possible
Diffstat (limited to 'Jellyfin.Api/Helpers/FileStreamResponseHelpers.cs')
| -rw-r--r-- | Jellyfin.Api/Helpers/FileStreamResponseHelpers.cs | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/Jellyfin.Api/Helpers/FileStreamResponseHelpers.cs b/Jellyfin.Api/Helpers/FileStreamResponseHelpers.cs index 20c94cdda..cfa2c1229 100644 --- a/Jellyfin.Api/Helpers/FileStreamResponseHelpers.cs +++ b/Jellyfin.Api/Helpers/FileStreamResponseHelpers.cs @@ -24,12 +24,14 @@ namespace Jellyfin.Api.Helpers /// <param name="isHeadRequest">Whether the current request is a HTTP HEAD request so only the headers get returned.</param> /// <param name="httpClient">The <see cref="HttpClient"/> making the remote request.</param> /// <param name="httpContext">The current http context.</param> + /// <param name="cancellationToken">A cancellation token that can be used to cancel the operation.</param> /// <returns>A <see cref="Task{ActionResult}"/> containing the API response.</returns> public static async Task<ActionResult> GetStaticRemoteStreamResult( StreamState state, bool isHeadRequest, HttpClient httpClient, - HttpContext httpContext) + HttpContext httpContext, + CancellationToken cancellationToken = default) { if (state.RemoteHttpHeaders.TryGetValue(HeaderNames.UserAgent, out var useragent)) { @@ -47,7 +49,7 @@ namespace Jellyfin.Api.Helpers return new FileContentResult(Array.Empty<byte>(), contentType); } - return new FileStreamResult(await response.Content.ReadAsStreamAsync().ConfigureAwait(false), contentType); + return new FileStreamResult(await response.Content.ReadAsStreamAsync(cancellationToken).ConfigureAwait(false), contentType); } /// <summary> |
