| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556 | 
							- <?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;
 
-     }
 
- }
 
 
  |