3using System.Net.Http.Headers;
5using Microsoft.Extensions.Logging;
22 readonly ILogger<FileDownloader>
logger;
32 this.logger =
logger ??
throw new ArgumentNullException(nameof(
logger));
38 ArgumentNullException.ThrowIfNull(url);
40 logger.LogDebug(
"Starting download of {url}...", url);
44 var request =
new HttpRequestMessage(
49 if (bearerToken !=
null)
IFileStreamProvider DownloadFile(Uri url, string? bearerToken)
Downloads a file from a given url .A new IFileStreamProvider for the downloaded file.
FileDownloader(IHttpClientFactory httpClientFactory, ILogger< FileDownloader > logger)
Initializes a new instance of the FileDownloader class.
readonly IHttpClientFactory httpClientFactory
The IHttpClientFactory for the FileDownloader.
readonly ILogger< FileDownloader > logger
The ILogger for the FileDownloader.
A IFileStreamProvider that represents the response of HttpRequestMessages.
Interface for asynchronously consuming Streams of files.