Esempio n. 1
0
        internal async Task <Response> DownloadToAsync(
            Stream destination,
            Uri endpoint,
            CancellationToken cancellationToken)
        {
            var initialRange = new HttpRange(0, _initialRangeSize);
            Task <Response <Stream> > initialResponseTask =
                _client.DownloadStreamingAsync(
                    endpoint,
                    initialRange,
                    cancellationToken);

            Response <Stream> initialResponse;

            try
            {
                initialResponse = await initialResponseTask.ConfigureAwait(false);
            }
            catch (RequestFailedException ex) when(ex.Status == 416)  //Invalid Range
            {
                initialResponseTask = _client.DownloadStreamingAsync(
                    endpoint,
                    range: default,