private static async Task BeginDownloading()

in src/Azure.AppService.Tunnel/IO/FileDownloader.cs [21:34]


    private static async Task BeginDownloading(string url, Func<ArraySegment<byte>, Task> onPartDownloaded)
    {
        using var client = new HttpClient();
        var stream = await client.GetStreamAsync(url);

        var buffer = new byte[16384];
        int length;

        do
        {
            length = await stream.ReadAsync(buffer, 0, buffer.Length);
            if (length > 0) await onPartDownloaded(new ArraySegment<byte>(buffer, 0, length));
        } while (length > 0);
    }