diff options
Diffstat (limited to 'vendor/aws/aws-sdk-php/src/Retry/RetryHelperTrait.php')
-rw-r--r-- | vendor/aws/aws-sdk-php/src/Retry/RetryHelperTrait.php | 56 |
1 files changed, 56 insertions, 0 deletions
diff --git a/vendor/aws/aws-sdk-php/src/Retry/RetryHelperTrait.php b/vendor/aws/aws-sdk-php/src/Retry/RetryHelperTrait.php new file mode 100644 index 0000000..a7edb72 --- /dev/null +++ b/vendor/aws/aws-sdk-php/src/Retry/RetryHelperTrait.php @@ -0,0 +1,56 @@ +<?php +namespace Aws\Retry; + +use Aws\Exception\AwsException; +use Aws\ResultInterface; + +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 = $value->getTransferInfo(); + $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; + } +} |