On Friday, 19 May 2023 at 23:36:28 UTC, anonymouse wrote:
[...]
The reason I used a while loop was to detect loss of internet connection and resume the process once the connection is re-established.

What if the internet connection is not re-established within an reasonable amount of time? What if the resource is no longer available on the server (HTTP eror 404 [1])? If there is an interactive user: Wouldn't it be better have the user restart the download at his discretion?

What would have been a better approach?

That depends on where you want to use that download function. If it is intended to download a full software update of a modern e-vehicle I would suggest not to use such an endless loop. I would limit the retries to a low single-digit number greater than one and of log the event.

[1] The 404 or other errors are not detected by default.

```
curl.set(CurlOption.failonerror, 1);
```

must be set. In case of error an exception is thrown. This unfortunately does not contain the required error information. It seems that one must supply an error buffer

```
ubyte [<?>] buf;
curl.set (CurlOption.errorbuffer, buf.ptr);
```

to store that result.

Reply via email to