From 88128aca31b9a84b1dd1c87cce3477e497cb6e7b Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Christian=20L=C3=BCck?= Date: Fri, 5 Jul 2024 21:49:14 +0200 Subject: [PATCH] Improve PHP 8.4+ support by avoiding implicitly nullable types --- composer.json | 10 +++++----- src/Browser.php | 3 ++- src/Io/Sender.php | 7 +------ tests/Io/SenderTest.php | 4 +++- tests/Io/StreamingServerTest.php | 4 ++-- 5 files changed, 13 insertions(+), 15 deletions(-) diff --git a/composer.json b/composer.json index 23783c0c..4234210a 100644 --- a/composer.json +++ b/composer.json @@ -31,18 +31,18 @@ "fig/http-message-util": "^1.1", "psr/http-message": "^1.0", "react/event-loop": "^1.2", - "react/promise": "^3 || ^2.3 || ^1.2.1", - "react/socket": "^1.12", - "react/stream": "^1.2" + "react/promise": "^3.2 || ^2.3 || ^1.2.1", + "react/socket": "^1.16", + "react/stream": "^1.4" }, "require-dev": { "clue/http-proxy-react": "^1.8", "clue/reactphp-ssh-proxy": "^1.4", "clue/socks-react": "^1.4", "phpunit/phpunit": "^9.6 || ^5.7 || ^4.8.36", - "react/async": "^4 || ^3 || ^2", + "react/async": "^4.2 || ^3 || ^2", "react/promise-stream": "^1.4", - "react/promise-timer": "^1.9" + "react/promise-timer": "^1.11" }, "autoload": { "psr-4": { diff --git a/src/Browser.php b/src/Browser.php index 01a266ca..9da0dcab 100644 --- a/src/Browser.php +++ b/src/Browser.php @@ -10,6 +10,7 @@ use React\Http\Message\Request; use React\Http\Message\Uri; use React\Promise\PromiseInterface; +use React\Socket\Connector; use React\Socket\ConnectorInterface; use React\Stream\ReadableStreamInterface; use InvalidArgumentException; @@ -88,7 +89,7 @@ public function __construct($connector = null, $loop = null) $loop = $loop ?: Loop::get(); $this->transaction = new Transaction( - Sender::createFromLoop($loop, $connector), + Sender::createFromLoop($loop, $connector ?: new Connector(array(), $loop)), $loop ); } diff --git a/src/Io/Sender.php b/src/Io/Sender.php index 1d563891..5f456b2f 100644 --- a/src/Io/Sender.php +++ b/src/Io/Sender.php @@ -8,7 +8,6 @@ use React\Http\Client\Client as HttpClient; use React\Promise\PromiseInterface; use React\Promise\Deferred; -use React\Socket\Connector; use React\Socket\ConnectorInterface; use React\Stream\ReadableStreamInterface; @@ -48,12 +47,8 @@ class Sender * @param ConnectorInterface|null $connector * @return self */ - public static function createFromLoop(LoopInterface $loop, ConnectorInterface $connector = null) + public static function createFromLoop(LoopInterface $loop, ConnectorInterface $connector) { - if ($connector === null) { - $connector = new Connector(array(), $loop); - } - return new self(new HttpClient(new ClientConnectionManager($connector, $loop))); } diff --git a/tests/Io/SenderTest.php b/tests/Io/SenderTest.php index 03a9b56e..a65b13b3 100644 --- a/tests/Io/SenderTest.php +++ b/tests/Io/SenderTest.php @@ -28,7 +28,9 @@ public function setUpLoop() public function testCreateFromLoop() { - $sender = Sender::createFromLoop($this->loop, null); + $connector = $this->getMockBuilder('React\Socket\ConnectorInterface')->getMock(); + + $sender = Sender::createFromLoop($this->loop, $connector); $this->assertInstanceOf('React\Http\Io\Sender', $sender); } diff --git a/tests/Io/StreamingServerTest.php b/tests/Io/StreamingServerTest.php index b4e3f2f8..b1410fad 100644 --- a/tests/Io/StreamingServerTest.php +++ b/tests/Io/StreamingServerTest.php @@ -32,7 +32,7 @@ public function setUpConnectionMockAndSocket() } - private function mockConnection(array $additionalMethods = null) + private function mockConnection(array $additionalMethods = array()) { $connection = $this->getMockBuilder('React\Socket\Connection') ->disableOriginalConstructor() @@ -49,7 +49,7 @@ private function mockConnection(array $additionalMethods = null) 'getLocalAddress', 'pipe' ), - (is_array($additionalMethods) ? $additionalMethods : array()) + $additionalMethods )) ->getMock();