<status> any HTTP status code among "401" (Unauthorized), "403"
(Forbidden), "404" (Not Found), "408" (Request Timeout),
- "425" (Too Early), "500" (Server Error), "501" (Not
- Implemented), "502" (Bad Gateway), "503" (Service
- Unavailable), "504" (Gateway Timeout).
+ "425" (Too Early), "429" (Too Many Requests), "500"
+ (Server Error), "501" (Not Implemented), "502"
+ (Bad Gateway), "503" (Service Unavailable), "504"
+ (Gateway Timeout).
all-retryable-errors
retry request for any error that are considered
#define PR_RE_404 0x00000020 /* Retry if we got a 404 */
#define PR_RE_408 0x00000040 /* Retry if we got a 408 */
#define PR_RE_425 0x00000080 /* Retry if we got a 425 */
-#define PR_RE_500 0x00000100 /* Retry if we got a 500 */
-#define PR_RE_501 0x00000200 /* Retry if we got a 501 */
-#define PR_RE_502 0x00000400 /* Retry if we got a 502 */
-#define PR_RE_503 0x00000800 /* Retry if we got a 503 */
-#define PR_RE_504 0x00001000 /* Retry if we got a 504 */
+#define PR_RE_429 0x00000100 /* Retry if we got a 429 */
+#define PR_RE_500 0x00000200 /* Retry if we got a 500 */
+#define PR_RE_501 0x00000400 /* Retry if we got a 501 */
+#define PR_RE_502 0x00000800 /* Retry if we got a 502 */
+#define PR_RE_503 0x00001000 /* Retry if we got a 503 */
+#define PR_RE_504 0x00002000 /* Retry if we got a 504 */
#define PR_RE_STATUS_MASK (PR_RE_401 | PR_RE_403 | PR_RE_404 | \
- PR_RE_408 | PR_RE_425 | PR_RE_500 | \
- PR_RE_501 | PR_RE_502 | PR_RE_503 | \
- PR_RE_504)
+ PR_RE_408 | PR_RE_425 | PR_RE_429 | \
+ PR_RE_500 | PR_RE_501 | PR_RE_502 | \
+ PR_RE_503 | PR_RE_504)
/* 0x00000800, 0x00001000, 0x00002000, 0x00004000 and 0x00008000 unused,
* reserved for eventual future status codes
*/
curpx->retry_type |= PR_RE_408;
else if (strcmp(args[i], "425") == 0)
curpx->retry_type |= PR_RE_425;
+ else if (strcmp(args[i], "429") == 0)
+ curpx->retry_type |= PR_RE_429;
else if (strcmp(args[i], "500") == 0)
curpx->retry_type |= PR_RE_500;
else if (strcmp(args[i], "501") == 0)