Вход Регистрация
Файл: sngine-v2.8/Script/includes/libs/AWS/Aws/Retry/RetryHelperTrait.php
Строк: 46
<?php
namespace AwsRetry;

use 
AwsExceptionAwsException;
use 
AwsResultInterface;

trait 
RetryHelperTrait
{
    private function 
addRetryHeader($request$retries$delayBy)
    {
        return 
$request->withHeader('aws-sdk-retry'"{$retries}/{$delayBy}");
    }


    private function 
updateStats($retries$delay, array &$stats)
    {
        if (!isset(
$stats['total_retry_delay'])) {
            
$stats['total_retry_delay'] = 0;
        }

        
$stats['total_retry_delay'] += $delay;
        
$stats['retries_attempted'] = $retries;
    }

    private function 
updateHttpStats($value, array &$stats)
    {
        if (empty(
$stats['http'])) {
            
$stats['http'] = [];
        }

        if (
$value instanceof AwsException) {
            
$resultStats = isset($value->getTransferInfo('http')[0])
                ? 
$value->getTransferInfo('http')[0]
                : [];
            
$stats['http'] []= $resultStats;
        } elseif (
$value instanceof ResultInterface) {
            
$resultStats = isset($value['@metadata']['transferStats']['http'][0])
                ? 
$value['@metadata']['transferStats']['http'][0]
                : [];
            
$stats['http'] []= $resultStats;
        }
    }

    private function 
bindStatsToReturn($return, array $stats)
    {
        if (
$return instanceof ResultInterface) {
            if (!isset(
$return['@metadata'])) {
                
$return['@metadata'] = [];
            }

            
$return['@metadata']['transferStats'] = $stats;
        } elseif (
$return instanceof AwsException) {
            
$return->setTransferInfo($stats);
        }

        return 
$return;
    }
}
Онлайн: 1
Реклама