mirror of
https://github.com/retailcrm/mailgun-php.git
synced 2024-11-30 17:06:04 +03:00
41 lines
1.0 KiB
PHP
41 lines
1.0 KiB
PHP
|
<?php
|
||
|
|
||
|
namespace Guzzle\Plugin\Backoff;
|
||
|
|
||
|
/**
|
||
|
* Strategy used to retry when certain error codes are encountered
|
||
|
*/
|
||
|
abstract class AbstractErrorCodeBackoffStrategy extends AbstractBackoffStrategy
|
||
|
{
|
||
|
/** @var array Default cURL errors to retry */
|
||
|
protected static $defaultErrorCodes = array();
|
||
|
|
||
|
/** @var array Error codes that can be retried */
|
||
|
protected $errorCodes;
|
||
|
|
||
|
/**
|
||
|
* @param array $codes Array of codes that should be retried
|
||
|
* @param BackoffStrategyInterface $next The optional next strategy
|
||
|
*/
|
||
|
public function __construct(array $codes = null, BackoffStrategyInterface $next = null)
|
||
|
{
|
||
|
$this->errorCodes = array_fill_keys($codes ?: static::$defaultErrorCodes, 1);
|
||
|
$this->next = $next;
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Get the default failure codes to retry
|
||
|
*
|
||
|
* @return array
|
||
|
*/
|
||
|
public static function getDefaultFailureCodes()
|
||
|
{
|
||
|
return static::$defaultErrorCodes;
|
||
|
}
|
||
|
|
||
|
public function makesDecision()
|
||
|
{
|
||
|
return true;
|
||
|
}
|
||
|
}
|