tool_operate: retry on HTTP response codes 522 and 524

- Treat HTTP response codes 522 and 524 as a transient error since
  Cloudflare may use them instead of 504 to signal timeout.

For example here is a 522 error message from Cloudflare:

"The initial connection between Cloudflare's network and the origin web
server timed out. As a result, the web page can not be displayed."

Prior to this change the curl tool did not retry on HTTP response codes
522 and 524 when --retry was used.

Fixes https://github.com/curl/curl/discussions/16143
Closes https://github.com/curl/curl/pull/19011
This commit is contained in:
Jay Satiro 2025-10-10 15:42:27 -04:00
parent 64ed2ea196
commit fe06127ded
2 changed files with 4 additions and 2 deletions

View file

@ -20,8 +20,8 @@ Example:
If a transient error is returned when curl tries to perform a transfer, it
retries this number of times before giving up. Setting the number to 0 makes
curl do no retries (which is the default). Transient error means either: a
timeout, an FTP 4xx response code or an HTTP 408, 429, 500, 502, 503 or 504
response code.
timeout, an FTP 4xx response code or an HTTP 408, 429, 500, 502, 503, 504, 522
or 524 response code.
When curl is about to retry a transfer, it first waits one second and then for
all forthcoming retries it doubles the waiting time until it reaches 10