PluginProbe ʕ •ᴥ•ʔ
Transferito: WP Migration / trunk
Transferito: WP Migration vtrunk
trunk 11.4.0 12.0.0 13.1.0 14.0.0 14.0.11 14.0.7 14.1.0 14.1.1 14.1.2 14.1.3 14.1.4
transferito / vendor / aws / aws-sdk-php / src / Api / ErrorParser / JsonParserTrait.php
transferito / vendor / aws / aws-sdk-php / src / Api / ErrorParser Last commit date
AbstractErrorParser.php 11 months ago JsonParserTrait.php 11 months ago JsonRpcErrorParser.php 11 months ago RestJsonErrorParser.php 11 months ago XmlErrorParser.php 11 months ago
JsonParserTrait.php
53 lines
1 <?php
2 namespace Aws\Api\ErrorParser;
3
4 use Aws\Api\Parser\PayloadParserTrait;
5 use Aws\Api\StructureShape;
6 use Psr\Http\Message\ResponseInterface;
7
8 /**
9 * Provides basic JSON error parsing functionality.
10 */
11 trait JsonParserTrait
12 {
13 use PayloadParserTrait;
14
15 private function genericHandler(ResponseInterface $response)
16 {
17 $code = (string) $response->getStatusCode();
18 if ($this->api
19 && !is_null($this->api->getMetadata('awsQueryCompatible'))
20 && $response->getHeaderLine('x-amzn-query-error')
21 ) {
22 $queryError = $response->getHeaderLine('x-amzn-query-error');
23 $parts = explode(';', $queryError);
24 if (isset($parts) && count($parts) == 2 && $parts[0] && $parts[1]) {
25 $error_code = $parts[0];
26 $error_type = $parts[1];
27 }
28 }
29 if (!isset($error_type)) {
30 $error_type = $code[0] == '4' ? 'client' : 'server';
31 }
32
33 return [
34 'request_id' => (string) $response->getHeaderLine('x-amzn-requestid'),
35 'code' => isset($error_code) ? $error_code : null,
36 'message' => null,
37 'type' => $error_type,
38 'parsed' => $this->parseJson($response->getBody(), $response)
39 ];
40 }
41
42 protected function payload(
43 ResponseInterface $response,
44 StructureShape $member
45 ) {
46 $jsonBody = $this->parseJson($response->getBody(), $response);
47
48 if ($jsonBody) {
49 return $this->parser->parse($member, $jsonBody);
50 }
51 }
52 }
53