blob: 6ebee6c1a37f04feb7ff85225e9890e176a400d2 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
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;
}
}
|