| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061 | 
							- <?php
 
- namespace Aws\Api\Parser;
 
- use Aws\Api\Parser\Exception\ParserException;
 
- use Psr\Http\Message\ResponseInterface;
 
- trait PayloadParserTrait
 
- {
 
-     /**
 
-      * @param string $json
 
-      *
 
-      * @throws ParserException
 
-      *
 
-      * @return array
 
-      */
 
-     private function parseJson($json, $response)
 
-     {
 
-         $jsonPayload = json_decode($json, true);
 
-         if (JSON_ERROR_NONE !== json_last_error()) {
 
-             throw new ParserException(
 
-                 'Error parsing JSON: ' . json_last_error_msg(),
 
-                 0,
 
-                 null,
 
-                 ['response' => $response]
 
-             );
 
-         }
 
-         return $jsonPayload;
 
-     }
 
-     /**
 
-      * @param string $xml
 
-      *
 
-      * @throws ParserException
 
-      *
 
-      * @return \SimpleXMLElement
 
-      */
 
-     protected function parseXml($xml, $response)
 
-     {
 
-         $priorSetting = libxml_use_internal_errors(true);
 
-         try {
 
-             libxml_clear_errors();
 
-             $xmlPayload = new \SimpleXMLElement($xml);
 
-             if ($error = libxml_get_last_error()) {
 
-                 throw new \RuntimeException($error->message);
 
-             }
 
-         } catch (\Exception $e) {
 
-             throw new ParserException(
 
-                 "Error parsing XML: {$e->getMessage()}",
 
-                 0,
 
-                 $e,
 
-                 ['response' => $response]
 
-             );
 
-         } finally {
 
-             libxml_use_internal_errors($priorSetting);
 
-         }
 
-         return $xmlPayload;
 
-     }
 
- }
 
 
  |