Файл: monst/Xsolla/Guzzle/Plugin/Backoff/HttpBackoffStrategy.php
Строк: 25
<?php
namespace GuzzlePluginBackoff;
use GuzzleHttpMessageRequestInterface;
use GuzzleHttpMessageResponse;
use GuzzleHttpExceptionHttpException;
/**
* 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)
{
if ($response) {
//Short circuit the rest of the checks if it was successful
if ($response->isSuccessful()) {
return false;
} else {
return isset($this->errorCodes[$response->getStatusCode()]) ? true : null;
}
}
}
}