2017-06-25 17:14:03 +02:00
|
|
|
using System.IO;
|
2014-11-01 14:43:50 +01:00
|
|
|
using System.Net.Http;
|
|
|
|
|
using System.Threading.Tasks;
|
|
|
|
|
|
2014-11-03 00:05:54 +01:00
|
|
|
namespace System.Unicode.Builder
|
2014-11-01 14:43:50 +01:00
|
|
|
{
|
2014-11-15 00:58:03 +01:00
|
|
|
public class HttpDataSource : IDataSource
|
2014-11-01 14:43:50 +01:00
|
|
|
{
|
|
|
|
|
private readonly HttpClient httpClient;
|
|
|
|
|
private readonly Uri baseUri;
|
2017-06-25 17:14:03 +02:00
|
|
|
|
|
|
|
|
public HttpDataSource(Uri baseUri, HttpClient httpClient)
|
2014-11-01 14:43:50 +01:00
|
|
|
{
|
2017-06-25 17:14:03 +02:00
|
|
|
this.httpClient = httpClient ?? new HttpClient();
|
2014-11-01 14:43:50 +01:00
|
|
|
this.baseUri = baseUri;
|
2014-11-16 21:27:57 +01:00
|
|
|
}
|
2014-11-01 14:43:50 +01:00
|
|
|
|
2014-11-05 22:39:31 +01:00
|
|
|
public void Dispose()
|
|
|
|
|
{
|
|
|
|
|
httpClient.Dispose();
|
|
|
|
|
}
|
|
|
|
|
|
2014-11-01 14:43:50 +01:00
|
|
|
public Task<Stream> OpenDataFileAsync(string fileName)
|
|
|
|
|
{
|
|
|
|
|
return httpClient.GetStreamAsync(baseUri + fileName);
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
}
|