Пример #1
0
 /** @internal */
 public static function _applyApiProvider($value, array &$args, HandlerList $list)
 {
     ClientResolver::_apply_api_provider($value, $args, $list);
     $args['parser'] = new GetBucketLocationParser(new AmbiguousSuccessParser(new RetryableMalformedResponseParser($args['parser'], $args['exception_class']), $args['error_parser'], $args['exception_class']));
 }
 /** @internal */
 public static function _applyApiProvider($value, array &$args, HandlerList $list)
 {
     ClientResolver::_apply_api_provider($value, $args, $list);
     $args['parser'] = new Crc32ValidatingParser($args['parser']);
 }
Пример #3
0
 /** @internal */
 public static function _applyApiProvider($value, array &$args, HandlerList $list)
 {
     ClientResolver::_apply_api_provider($value, $args, $list);
     $args['parser'] = new GetBucketLocationParser($args['parser']);
 }
Пример #4
0
 private static function applyApiProvider()
 {
     return function ($value, &$args) {
         ClientResolver::_apply_api_provider($value, $args);
         $parser = function (ResponseInterface $response) use($args) {
             // Call the original parser.
             $errorData = $args['error_parser']($response);
             // Handle 404 responses where the code was not parsed.
             if (!isset($errorData['code']) && $response->getStatusCode() == 404) {
                 $url = (new S3UriParser())->parse($response->getEffectiveUrl());
                 if (isset($url['key'])) {
                     $errorData['code'] = 'NoSuchKey';
                 } elseif ($url['bucket']) {
                     $errorData['code'] = 'NoSuchBucket';
                 }
             }
             return $errorData;
         };
         $args['error_parser'] = $parser;
     };
 }