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

5 files changed

Lines changed: 16 additions & 22 deletions

File tree

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)