public static async Task<Stream> GetStreamRangeAsync(Uri uri, Range range) { using (var httpClient = new HttpClient()) { if (range != null) { if (range.From.HasValue) httpClient.AddRange((long)range.From.Value, (long)range.To.Value); else if (range.To.HasValue) httpClient.AddRange((long)range.To.Value); } return (await httpClient.GetResponse(uri)).Stream; } }
public static async Task<Stream> GetStreamRangeAsync(Uri uri, long range) { using (var httpClient = new HttpClient()) { httpClient.AddRange(range); return (await httpClient.GetResponse(uri)).Stream; } }
public static async Task<Stream> GetStreamRangeNoSuffixAsync(Uri uri, long range, long fileSize) { using (var httpClient = new HttpClient()) { httpClient.AddRange(range); if (range < 0) { return await GetStreamRangeAsync(uri, fileSize + range, fileSize); } else { return (await httpClient.GetResponse(uri)).Stream; } } }
public static async Task<WebRequestorResponse> GetResponseAsync(Uri uri, long from, long to) { using (var httpClient = new HttpClient()) { httpClient.AddRange(from, to); return await httpClient.GetResponse(uri); } }