diff options
Diffstat (limited to 'vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/AbstractErrorCodeBackoffStrategy.php')
-rw-r--r-- | vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/AbstractErrorCodeBackoffStrategy.php | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/AbstractErrorCodeBackoffStrategy.php b/vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/AbstractErrorCodeBackoffStrategy.php new file mode 100644 index 0000000..6ebee6c --- /dev/null +++ b/vendor/guzzle/guzzle/src/Guzzle/Plugin/Backoff/AbstractErrorCodeBackoffStrategy.php @@ -0,0 +1,40 @@ +<?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; + } +} |