From 4c49dfc1920925a732686a350bcc897bc8d7749d Mon Sep 17 00:00:00 2001 From: Dzmitry Berazhnoi Date: Mon, 17 Nov 2025 20:43:42 +0300 Subject: [PATCH 1/4] Update PhpHttp.php Replacing deprecated classes --- src/Manticoresearch/Transport/PhpHttp.php | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/src/Manticoresearch/Transport/PhpHttp.php b/src/Manticoresearch/Transport/PhpHttp.php index b2f2647..957e607 100644 --- a/src/Manticoresearch/Transport/PhpHttp.php +++ b/src/Manticoresearch/Transport/PhpHttp.php @@ -7,8 +7,8 @@ namespace Manticoresearch\Transport; -use Http\Discovery\HttpClientDiscovery; -use Http\Discovery\MessageFactoryDiscovery; +use Http\Discovery\Psr18ClientDiscovery; +use Http\Discovery\Psr17FactoryDiscovery; use Manticoresearch\Connection; use Manticoresearch\Exceptions\ConnectionException; use Manticoresearch\Exceptions\ResponseException; @@ -32,15 +32,15 @@ class PhpHttp extends Transport implements TransportInterface */ public function __construct(?Connection $connection = null, ?LoggerInterface $logger = null) { - if (!class_exists(HttpClientDiscovery::class) || !class_exists(MessageFactoryDiscovery::class)) { + if (!class_exists(Psr18ClientDiscovery::class) || !class_exists(Psr17FactoryDiscovery::class)) { throw new \LogicException( 'You cannot use the "' . self::class . '" ' . 'as the "php-http/discovery" package is not installed. ' . 'Try running "composer require php-http/discovery".' ); } - $this->client = HttpClientDiscovery::find(); - $this->messageFactory = MessageFactoryDiscovery::find(); + $this->client = Psr18ClientDiscovery::find(); + $this->messageFactory = Psr17FactoryDiscovery::findRequestFactory(); parent::__construct($connection, $logger); } @@ -71,6 +71,14 @@ public function execute(Request $request, $params = []) { } $start = microtime(true); $message = $this->messageFactory->createRequest($method, $url, $headers, $content); + if (!$message->hasHeader('Content-Type')) { + foreach ($headers as $key => $value) { + $message = $message->withAddedHeader($key, $value); + } + } + if (!empty($content) && empty($message->getBody()->getContents())) { + $message = $message->withBody($this->messageFactory->createStream($content)); + } try { $responsePSR = $this->client->sendRequest($message); } catch (\Exception $e) { From e5e1a30129d9e937fec9d923d4f262122defa505 Mon Sep 17 00:00:00 2001 From: Dzmitry Berazhnoi Date: Tue, 18 Nov 2025 00:25:44 +0300 Subject: [PATCH 2/4] Update PhpHttp.php --- src/Manticoresearch/Transport/PhpHttp.php | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/Manticoresearch/Transport/PhpHttp.php b/src/Manticoresearch/Transport/PhpHttp.php index 957e607..7d5a16f 100644 --- a/src/Manticoresearch/Transport/PhpHttp.php +++ b/src/Manticoresearch/Transport/PhpHttp.php @@ -76,8 +76,12 @@ public function execute(Request $request, $params = []) { $message = $message->withAddedHeader($key, $value); } } - if (!empty($content) && empty($message->getBody()->getContents())) { - $message = $message->withBody($this->messageFactory->createStream($content)); + $body = $message->getBody(); + $isBodyEmpty = ($body->getSize() === 0 || $body->getContents() === ''); + if ($content !== false && $content !== '' && $isBodyEmpty) { + $message = $message->withBody( + $this->messageFactory->createStream($content) + ); } try { $responsePSR = $this->client->sendRequest($message); From 83c2ca864abf1a17cbb3f0c5e2613d79ee4d665a Mon Sep 17 00:00:00 2001 From: Dzmitry Berazhnoi Date: Thu, 20 Nov 2025 11:33:16 +0300 Subject: [PATCH 3/4] Update PhpHttp.php --- src/Manticoresearch/Transport/PhpHttp.php | 18 +++++++++--------- 1 file changed, 9 insertions(+), 9 deletions(-) diff --git a/src/Manticoresearch/Transport/PhpHttp.php b/src/Manticoresearch/Transport/PhpHttp.php index 7d5a16f..1007470 100644 --- a/src/Manticoresearch/Transport/PhpHttp.php +++ b/src/Manticoresearch/Transport/PhpHttp.php @@ -7,8 +7,8 @@ namespace Manticoresearch\Transport; -use Http\Discovery\Psr18ClientDiscovery; use Http\Discovery\Psr17FactoryDiscovery; +use Http\Discovery\Psr18ClientDiscovery; use Manticoresearch\Connection; use Manticoresearch\Exceptions\ConnectionException; use Manticoresearch\Exceptions\ResponseException; @@ -72,17 +72,17 @@ public function execute(Request $request, $params = []) { $start = microtime(true); $message = $this->messageFactory->createRequest($method, $url, $headers, $content); if (!$message->hasHeader('Content-Type')) { - foreach ($headers as $key => $value) { + foreach ($headers as $key => $value) { $message = $message->withAddedHeader($key, $value); } } - $body = $message->getBody(); - $isBodyEmpty = ($body->getSize() === 0 || $body->getContents() === ''); - if ($content !== false && $content !== '' && $isBodyEmpty) { - $message = $message->withBody( - $this->messageFactory->createStream($content) - ); - } + $body = $message->getBody(); + $isBodyEmpty = ($body->getSize() === 0 || $body->getContents() === ''); + if ($content !== false && $content !== '' && $isBodyEmpty) { + $message = $message->withBody( + $this->messageFactory->createStream($content) + ); + } try { $responsePSR = $this->client->sendRequest($message); } catch (\Exception $e) { From 5c6dda3f187c2883127447f6a096de55841055f0 Mon Sep 17 00:00:00 2001 From: Dzmitry Berazhnoi Date: Thu, 20 Nov 2025 13:54:53 +0300 Subject: [PATCH 4/4] Update PhpHttp.php --- src/Manticoresearch/Transport/PhpHttp.php | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/Manticoresearch/Transport/PhpHttp.php b/src/Manticoresearch/Transport/PhpHttp.php index 1007470..c95fa0f 100644 --- a/src/Manticoresearch/Transport/PhpHttp.php +++ b/src/Manticoresearch/Transport/PhpHttp.php @@ -72,16 +72,16 @@ public function execute(Request $request, $params = []) { $start = microtime(true); $message = $this->messageFactory->createRequest($method, $url, $headers, $content); if (!$message->hasHeader('Content-Type')) { - foreach ($headers as $key => $value) { - $message = $message->withAddedHeader($key, $value); - } - } + foreach ($headers as $key => $value) { + $message = $message->withAddedHeader($key, $value); + } + } $body = $message->getBody(); $isBodyEmpty = ($body->getSize() === 0 || $body->getContents() === ''); if ($content !== false && $content !== '' && $isBodyEmpty) { - $message = $message->withBody( - $this->messageFactory->createStream($content) - ); + $message = $message->withBody( + $this->messageFactory->createStream($content) + ); } try { $responsePSR = $this->client->sendRequest($message);