A new module should be added that retries failed requests. A request is considered failed if either the connection could not be established or if the response status code indicates a failure.
Status codes that should be retried:
408 Request Timeout
425 Too Early
429 Too Many Request
500 Internal Server Error
502 Bad Gateway
503 Service Unavailable
504 Gateway Timeout
A Retry-After header should be honored if present in the response.
When no Retry-After header is provided, requests should be retried 3 times with an exponential back-off.
This module should come before the ratelimit module in the call-chain so that the internal rate-limiting is honored.
A new module should be added that retries failed requests. A request is considered failed if either the connection could not be established or if the response status code indicates a failure.
Status codes that should be retried:
A Retry-After header should be honored if present in the response. When no Retry-After header is provided, requests should be retried 3 times with an exponential back-off.
This module should come before the ratelimit module in the call-chain so that the internal rate-limiting is honored.