namespace Guzzle\Plugin\Backoff;
use Guzzle\Http\Message\RequestInterface;
use Guzzle\Http\Message\Response;
use Guzzle\Http\Exception\HttpException;
* Strategy used to retry HTTP requests based on the response code.
* Retries 500 and 503 error by default.
class HttpBackoffStrategy extends AbstractErrorCodeBackoffStrategy
/** @var array Default cURL errors to retry */
protected static $defaultErrorCodes = array(500, 503);
protected function getDelay($retries, RequestInterface $request, Response $response = null, HttpException $e = null)
//Short circuit the rest of the checks if it was successful
if ($response->isSuccessful()) {
return isset($this->errorCodes[$response->getStatusCode()]) ? true : null;