Give a better error message on failing to parse an XML API response

This commit is contained in:
Timothy Warren 2018-06-15 08:46:28 -04:00
parent b078690fdf
commit e0e72eeef8
2 changed files with 10 additions and 4 deletions

View File

@ -143,7 +143,7 @@ trait MALTrait {
{
if ($logger)
{
$logger->warning('Non 200 response for api call', $response->getBody());
$logger->warning('Non 200 response for api call', (array)$response->getBody());
}
}
@ -182,7 +182,7 @@ trait MALTrait {
{
if ($logger)
{
$logger->warning('Non 201 response for POST api call', $response->getBody());
$logger->warning('Non 201 response for POST api call', (array)$response->getBody());
}
}

View File

@ -16,7 +16,7 @@
namespace Aviat\AnimeClient\API;
use DOMDocument, DOMNode, DOMNodeList;
use DOMDocument, DOMNode, DOMNodeList, InvalidArgumentException;
/**
* XML <=> PHP Array codec
@ -115,7 +115,13 @@ class XML {
$xml = static::stripXMLWhitespace($xml);
$dom = new DOMDocument();
$dom->loadXML($xml);
$hasLoaded = @$dom->loadXML($xml);
if ( ! $hasLoaded)
{
throw new InvalidArgumentException('Failed to load XML');
}
$root = $dom->documentElement;
$data[$root->tagName] = [];