xref: /aosp_15_r20/external/curl/docs/cmdline-opts/retry-all-errors.md (revision 6236dae45794135f37c4eb022389c904c8b0090d)
1*6236dae4SAndroid Build Coastguard Worker---
2*6236dae4SAndroid Build Coastguard Workerc: Copyright (C) Daniel Stenberg, <[email protected]>, et al.
3*6236dae4SAndroid Build Coastguard WorkerSPDX-License-Identifier: curl
4*6236dae4SAndroid Build Coastguard WorkerLong: retry-all-errors
5*6236dae4SAndroid Build Coastguard WorkerHelp: Retry all errors (with --retry)
6*6236dae4SAndroid Build Coastguard WorkerAdded: 7.71.0
7*6236dae4SAndroid Build Coastguard WorkerCategory: curl
8*6236dae4SAndroid Build Coastguard WorkerMulti: boolean
9*6236dae4SAndroid Build Coastguard WorkerSee-also:
10*6236dae4SAndroid Build Coastguard Worker  - retry
11*6236dae4SAndroid Build Coastguard WorkerExample:
12*6236dae4SAndroid Build Coastguard Worker  - --retry 5 --retry-all-errors $URL
13*6236dae4SAndroid Build Coastguard Worker---
14*6236dae4SAndroid Build Coastguard Worker
15*6236dae4SAndroid Build Coastguard Worker# `--retry-all-errors`
16*6236dae4SAndroid Build Coastguard Worker
17*6236dae4SAndroid Build Coastguard WorkerRetry on any error. This option is used together with --retry.
18*6236dae4SAndroid Build Coastguard Worker
19*6236dae4SAndroid Build Coastguard WorkerThis option is the "sledgehammer" of retrying. Do not use this option by
20*6236dae4SAndroid Build Coastguard Workerdefault (for example in your **curlrc**), there may be unintended consequences
21*6236dae4SAndroid Build Coastguard Workersuch as sending or receiving duplicate data. Do not use with redirected input
22*6236dae4SAndroid Build Coastguard Workeror output. You might be better off handling your unique problems in a shell
23*6236dae4SAndroid Build Coastguard Workerscript. Please read the example below.
24*6236dae4SAndroid Build Coastguard Worker
25*6236dae4SAndroid Build Coastguard Worker**WARNING**: For server compatibility curl attempts to retry failed flaky
26*6236dae4SAndroid Build Coastguard Workertransfers as close as possible to how they were started, but this is not
27*6236dae4SAndroid Build Coastguard Workerpossible with redirected input or output. For example, before retrying it
28*6236dae4SAndroid Build Coastguard Workerremoves output data from a failed partial transfer that was written to an
29*6236dae4SAndroid Build Coastguard Workeroutput file. However this is not true of data redirected to a | pipe or \>
30*6236dae4SAndroid Build Coastguard Workerfile, which are not reset. We strongly suggest you do not parse or record
31*6236dae4SAndroid Build Coastguard Workeroutput via redirect in combination with this option, since you may receive
32*6236dae4SAndroid Build Coastguard Workerduplicate data.
33*6236dae4SAndroid Build Coastguard Worker
34*6236dae4SAndroid Build Coastguard WorkerBy default curl does not return error for transfers with an HTTP response code
35*6236dae4SAndroid Build Coastguard Workerthat indicates an HTTP error, if the transfer was successful. For example, if
36*6236dae4SAndroid Build Coastguard Workera server replies 404 Not Found and the reply is fully received then that is
37*6236dae4SAndroid Build Coastguard Workernot an error. When --retry is used then curl retries on some HTTP response
38*6236dae4SAndroid Build Coastguard Workercodes that indicate transient HTTP errors, but that does not include most 4xx
39*6236dae4SAndroid Build Coastguard Workerresponse codes such as 404. If you want to retry on all response codes that
40*6236dae4SAndroid Build Coastguard Workerindicate HTTP errors (4xx and 5xx) then combine with --fail.
41