From: Hypolite Petovan <hypolite@mrpetovan.com>
Date: Thu, 19 Jan 2023 13:44:06 +0000 (-0500)
Subject: Throw an exception when parse_url fails in HttpClient->request
X-Git-Url: https://git.mxchange.org/?a=commitdiff_plain;h=881cb456e2712e04d0a510619e06fa371567feaf;p=friendica.git

Throw an exception when parse_url fails in HttpClient->request

- Address part of https://github.com/friendica/friendica/issues/12011#issuecomment-1383147421
---

diff --git a/src/Network/HTTPClient/Client/HttpClient.php b/src/Network/HTTPClient/Client/HttpClient.php
index 2ef704df1f..4ee0842150 100644
--- a/src/Network/HTTPClient/Client/HttpClient.php
+++ b/src/Network/HTTPClient/Client/HttpClient.php
@@ -69,6 +69,10 @@ class HttpClient implements ICanSendHttpRequests
 		$this->logger->debug('Request start.', ['url' => $url, 'method' => $method]);
 
 		$host = parse_url($url, PHP_URL_HOST);
+		if (empty($host)) {
+			throw new \InvalidArgumentException('Unable to retrieve the host in URL: ' . $url);
+		}
+
 		if(!filter_var($host, FILTER_VALIDATE_IP) && !@dns_get_record($host . '.', DNS_A + DNS_AAAA) && !gethostbyname($host)) {
 			$this->logger->debug('URL cannot be resolved.', ['url' => $url, 'callstack' => System::callstack(20)]);
 			$this->profiler->stopRecording();