Вход Регистрация
Файл: monst/Xsolla/Guzzle/Plugin/Backoff/CurlBackoffStrategy.php
Строк: 27
<?php

namespace GuzzlePluginBackoff;

use 
GuzzleHttpMessageRequestInterface;
use 
GuzzleHttpMessageResponse;
use 
GuzzleHttpExceptionHttpException;
use 
GuzzleHttpExceptionCurlException;

/**
 * Strategy used to retry when certain cURL error codes are encountered.
 */
class CurlBackoffStrategy extends AbstractErrorCodeBackoffStrategy
{
    
/** @var array Default cURL errors to retry */
    
protected static $defaultErrorCodes = array(
        
CURLE_COULDNT_RESOLVE_HOST, CURLE_COULDNT_CONNECT, CURLE_PARTIAL_FILE, CURLE_WRITE_ERROR, CURLE_READ_ERROR,
        
CURLE_OPERATION_TIMEOUTED, CURLE_SSL_CONNECT_ERROR, CURLE_HTTP_PORT_FAILED, CURLE_GOT_NOTHING,
        
CURLE_SEND_ERROR, CURLE_RECV_ERROR
    
);

    protected function 
getDelay($retries, RequestInterface $request, Response $response = null, HttpException $e = null)
    {
        if (
$e && $e instanceof CurlException) {
            return isset(
$this->errorCodes[$e->getErrorNo()]) ? true : null;
        }
    }
}
Онлайн: 1
Реклама