fn http_get_once( url: &str, expected_total: u64, on_progress: &mut dyn FnMut(u64, u64), ) -> Result<Vec<u8>, (String, bool)>
One HTTP GET, streamed in chunks. Returns (message, retryable) on failure.
(message, retryable)