/** @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']); }
/** @internal */ public static function _applyApiProvider($value, array &$args, HandlerList $list) { ClientResolver::_apply_api_provider($value, $args, $list); $args['parser'] = new GetBucketLocationParser($args['parser']); }
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; }; }