mirror of
https://github.com/SociallyDev/Spaces-API.git
synced 2025-07-06 21:11:30 -07:00
51 lines
1.2 KiB
PHP
51 lines
1.2 KiB
PHP
<?php
|
|
namespace Aws\Api\Parser;
|
|
|
|
use Aws\Api\Parser\Exception\ParserException;
|
|
|
|
trait PayloadParserTrait
|
|
{
|
|
/**
|
|
* @param string $json
|
|
*
|
|
* @throws ParserException
|
|
*
|
|
* @return array
|
|
*/
|
|
private function parseJson($json)
|
|
{
|
|
$jsonPayload = json_decode($json, true);
|
|
|
|
if (JSON_ERROR_NONE !== json_last_error()) {
|
|
throw new ParserException('Error parsing JSON: '
|
|
. json_last_error_msg());
|
|
}
|
|
|
|
return $jsonPayload;
|
|
}
|
|
|
|
/**
|
|
* @param string $xml
|
|
*
|
|
* @throws ParserException
|
|
*
|
|
* @return \SimpleXMLElement
|
|
*/
|
|
private function parseXml($xml)
|
|
{
|
|
$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);
|
|
} finally {
|
|
libxml_use_internal_errors($priorSetting);
|
|
}
|
|
|
|
return $xmlPayload;
|
|
}
|
|
}
|