Skip to content

Commit 5902038

Browse files
authored
Merge pull request #84 from clue-labs/socket
Replace deprecated SocketClient with new Socket component
2 parents 985f8a0 + f8f73e0 commit 5902038

File tree

5 files changed

+16
-22
lines changed

5 files changed

+16
-22
lines changed

composer.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66
"require": {
77
"php": ">=5.4.0",
88
"guzzlehttp/psr7": "^1.0",
9-
"react/socket-client": "^0.6",
9+
"react/socket": "^0.7",
1010
"react/dns": "0.4.*",
1111
"react/event-loop": "0.4.*",
1212
"react/stream": "0.4.*",

src/Client.php

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,29 +2,21 @@
22

33
namespace React\HttpClient;
44

5-
use React\SocketClient\ConnectorInterface;
5+
use React\Socket\ConnectorInterface;
66

77
class Client
88
{
99
private $connector;
10-
private $secureConnector;
1110

12-
public function __construct(ConnectorInterface $connector, ConnectorInterface $secureConnector)
11+
public function __construct(ConnectorInterface $connector)
1312
{
1413
$this->connector = $connector;
15-
$this->secureConnector = $secureConnector;
1614
}
1715

1816
public function request($method, $url, array $headers = [], $protocolVersion = '1.0')
1917
{
2018
$requestData = new RequestData($method, $url, $headers, $protocolVersion);
21-
$connector = $this->getConnectorForScheme($requestData->getScheme());
2219

23-
return new Request($connector, $requestData);
24-
}
25-
26-
private function getConnectorForScheme($scheme)
27-
{
28-
return ('https' === $scheme) ? $this->secureConnector : $this->connector;
20+
return new Request($this->connector, $requestData);
2921
}
3022
}

src/Factory.php

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,16 +4,16 @@
44

55
use React\EventLoop\LoopInterface;
66
use React\Dns\Resolver\Resolver;
7-
use React\SocketClient\Connector;
8-
use React\SocketClient\SecureConnector;
7+
use React\Socket\Connector;
98

109
class Factory
1110
{
1211
public function create(LoopInterface $loop, Resolver $resolver)
1312
{
14-
$connector = new Connector($loop, $resolver);
15-
$secureConnector = new SecureConnector($connector, $loop);
13+
$connector = new Connector($loop, array(
14+
'dns' => $resolver
15+
));
1616

17-
return new Client($connector, $secureConnector);
17+
return new Client($connector);
1818
}
1919
}

src/Request.php

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44

55
use Evenement\EventEmitterTrait;
66
use GuzzleHttp\Psr7 as gPsr;
7-
use React\SocketClient\ConnectorInterface;
7+
use React\Socket\ConnectorInterface;
88
use React\Stream\WritableStreamInterface;
99

1010
/**
@@ -230,6 +230,10 @@ protected function connect()
230230
$host = $this->requestData->getHost();
231231
$port = $this->requestData->getPort();
232232

233+
if ($this->requestData->getScheme() === 'https') {
234+
$host = 'tls://' . $host;
235+
}
236+
233237
return $this->connector
234238
->connect($host . ':' . $port);
235239
}

tests/RequestTest.php

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,9 +5,7 @@
55
use React\HttpClient\Request;
66
use React\HttpClient\RequestData;
77
use React\Stream\Stream;
8-
use React\Promise\FulfilledPromise;
98
use React\Promise\RejectedPromise;
10-
use React\Promise;
119
use React\Promise\Deferred;
1210

1311
class RequestTest extends TestCase
@@ -17,11 +15,11 @@ class RequestTest extends TestCase
1715

1816
public function setUp()
1917
{
20-
$this->stream = $this->getMockBuilder('React\Stream\Stream')
18+
$this->stream = $this->getMockBuilder('React\Socket\Connection')
2119
->disableOriginalConstructor()
2220
->getMock();
2321

24-
$this->connector = $this->getMockBuilder('React\SocketClient\ConnectorInterface')
22+
$this->connector = $this->getMockBuilder('React\Socket\ConnectorInterface')
2523
->getMock();
2624

2725
$this->response = $this->getMockBuilder('React\HttpClient\Response')

0 commit comments

Comments
 (0)
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy