mirror of
https://github.com/retailcrm/mailgun-php.git
synced 2024-11-30 08:56:07 +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;
|
|
}
|
|
}
|