![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/aws/aws-sdk-php/src/Api/ErrorParser/ |
<?php namespace Aws\Api\ErrorParser; use Aws\Api\Parser\JsonParser; use Aws\Api\Service; use Aws\Api\StructureShape; use Aws\CommandInterface; use Psr\Http\Message\ResponseInterface; /** * Parses JSON-REST errors. */ class RestJsonErrorParser extends AbstractErrorParser { use JsonParserTrait; private $parser; public function __construct(Service $api = null, JsonParser $parser = null) { parent::__construct($api); $this->parser = $parser ?: new JsonParser(); } public function __invoke( ResponseInterface $response, CommandInterface $command = null ) { $data = $this->genericHandler($response); // Merge in error data from the JSON body if ($json = $data['parsed']) { $data = array_replace($data, $json); } // Correct error type from services like Amazon Glacier if (!empty($data['type'])) { $data['type'] = strtolower($data['type']); } // Retrieve the error code from services like Amazon Elastic Transcoder if ($code = $response->getHeaderLine('x-amzn-errortype')) { $colon = strpos($code, ':'); $data['code'] = $colon ? substr($code, 0, $colon) : $code; } // Retrieve error message directly $data['message'] = isset($data['parsed']['message']) ? $data['parsed']['message'] : (isset($data['parsed']['Message']) ? $data['parsed']['Message'] : null); $this->populateShape($data, $response, $command); return $data; } }