| 
<?phpnamespace Aws\Api\ErrorParser;
 
 use Psr\Http\Message\ResponseInterface;
 
 /**
 * Parsers JSON-RPC errors.
 */
 class JsonRpcErrorParser
 {
 use JsonParserTrait;
 
 public function __invoke(ResponseInterface $response)
 {
 $data = $this->genericHandler($response);
 // Make the casing consistent across services.
 if ($data['parsed']) {
 $data['parsed'] = array_change_key_case($data['parsed']);
 }
 
 if (isset($data['parsed']['__type'])) {
 $parts = explode('#', $data['parsed']['__type']);
 $data['code'] = isset($parts[1]) ? $parts[1] : $parts[0];
 $data['message'] = isset($data['parsed']['message'])
 ? $data['parsed']['message']
 : null;
 }
 
 return $data;
 }
 }
 
 |