$urlResult = $this->resolver->resolveURL($url);
if ($urlResult->didErrorOccur()) {
- throw new TransferException($urlResult->getErrorMessageString());
+ throw new TransferException($urlResult->getErrorMessageString(), $urlResult->getHTTPStatusCode());
}
return $urlResult->getURL();
namespace Friendica\Network;
+use GuzzleHttp\Exception\TransferException;
+
/**
* Interface for calling HTTP requests and returning their responses
*/
* @param string $url A user-submitted URL
*
* @return string A canonical URL
- * @throws \Friendica\Network\HTTPException\InternalServerErrorException
+ *
+ * @throws TransferException In case there's an error during the resolving
*/
public function finalUrl(string $url);
}
use Friendica\Util\Proxy;
use Friendica\Util\Strings;
use Friendica\Util\XML;
+use GuzzleHttp\Exception\TransferException;
/**
* This class contain functions to import feeds (RSS/RDF/Atom)
$orig_plink = $item["plink"];
- $item["plink"] = DI::httpClient()->finalUrl($item["plink"]);
+ try {
+ $item["plink"] = DI::httpClient()->finalUrl($item["plink"]);
+ } catch (TransferException $exception) {
+ Logger::notice('Item URL couldn\'t get expanded', ['url' => $item["plink"], 'exception' => $exception]);
+ }
$item["title"] = XML::getFirstNodeValue($xpath, 'atom:title/text()', $entry);