Skip to content

Commit 04ed77d

Browse files
authored
Merge pull request #101 from clue-labs/socket
Simplify usage by supporting new Socket API without nullable loop
2 parents cc0d4c1 + 32da2c8 commit 04ed77d

21 files changed

+125
-118
lines changed

README.md

Lines changed: 17 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -105,7 +105,7 @@ proxy server listening for connections on `localhost:1080`:
105105
$server = new Clue\React\Socks\Server();
106106

107107
// listen on localhost:1080
108-
$socket = new React\Socket\Server('127.0.0.1:1080');
108+
$socket = new React\Socket\SocketServer('127.0.0.1:1080');
109109
$server->listen($socket);
110110
```
111111

@@ -134,7 +134,7 @@ proxy servers etc.), you can explicitly pass a custom instance of the
134134
[`ConnectorInterface`](https://github.com/reactphp/socket#connectorinterface):
135135

136136
```php
137-
$connector = new React\Socket\Connector(null, array(
137+
$connector = new React\Socket\Connector(array(
138138
'dns' => '127.0.0.1',
139139
'tcp' => array(
140140
'bindto' => '192.168.10.1:0'
@@ -192,7 +192,7 @@ in ReactPHP's [`Connector`](https://github.com/reactphp/socket#connector):
192192
```php
193193
$proxy = new Clue\React\Socks\Client('127.0.0.1:1080');
194194

195-
$connector = new React\Socket\Connector(null, array(
195+
$connector = new React\Socket\Connector(array(
196196
'tcp' => $proxy,
197197
'dns' => false
198198
));
@@ -234,7 +234,7 @@ ReactPHP's [`Connector`](https://github.com/reactphp/socket#connector):
234234
```php
235235
$proxy = new Clue\React\Socks\Client('127.0.0.1:1080');
236236

237-
$connector = new React\Socket\Connector(null, array(
237+
$connector = new React\Socket\Connector(array(
238238
'tcp' => $proxy,
239239
'dns' => false
240240
));
@@ -264,7 +264,7 @@ You can optionally pass additional
264264
to the constructor like this:
265265

266266
```php
267-
$connector = new React\Socket\Connector(null, array(
267+
$connector = new React\Socket\Connector(array(
268268
'tcp' => $proxy,
269269
'tls' => array(
270270
'verify_peer' => false,
@@ -286,12 +286,12 @@ This allows you to send both plain HTTP and TLS-encrypted HTTPS requests like th
286286
```php
287287
$proxy = new Clue\React\Socks\Client('127.0.0.1:1080');
288288

289-
$connector = new React\Socket\Connector(null, array(
289+
$connector = new React\Socket\Connector(array(
290290
'tcp' => $proxy,
291291
'dns' => false
292292
));
293293

294-
$browser = new React\Http\Browser(null, $connector);
294+
$browser = new React\Http\Browser($connector);
295295

296296
$browser->get('https://example.com/')->then(function (Psr\Http\Message\ResponseInterface $response) {
297297
var_dump($response->getHeaders(), (string) $response->getBody());
@@ -422,7 +422,7 @@ other examples explicitly disable DNS resolution like this:
422422
```php
423423
$proxy = new Clue\React\Socks\Client('127.0.0.1:1080');
424424

425-
$connector = new React\Socket\Connector(null, array(
425+
$connector = new React\Socket\Connector(array(
426426
'tcp' => $proxy,
427427
'dns' => false
428428
));
@@ -435,7 +435,7 @@ using SOCKS4), you can use the following code:
435435
$proxy = new Clue\React\Socks\Client('127.0.0.1:1080');
436436

437437
// set up Connector which uses Google's public DNS (8.8.8.8)
438-
$connector = new React\Socket\Connector(null, array(
438+
$connector = new React\Socket\Connector(array(
439439
'tcp' => $proxy,
440440
'dns' => '8.8.8.8'
441441
));
@@ -527,7 +527,7 @@ SOCKS connector from another SOCKS client like this:
527527
$middle = new Clue\React\Socks\Client('127.0.0.1:1080');
528528
$target = new Clue\React\Socks\Client('example.com:1080', $middle);
529529

530-
$connector = new React\Socket\Connector(null, array(
530+
$connector = new React\Socket\Connector(array(
531531
'tcp' => $target,
532532
'dns' => false
533533
));
@@ -573,7 +573,7 @@ underlying connection attempt if it takes too long:
573573
```php
574574
$proxy = new Clue\React\Socks\Client('127.0.0.1:1080');
575575

576-
$connector = new React\Socket\Connector(null, array(
576+
$connector = new React\Socket\Connector(array(
577577
'tcp' => $proxy,
578578
'dns' => false,
579579
'timeout' => 3.0
@@ -692,8 +692,8 @@ You can start listening on an underlying TCP/IP socket server like this:
692692
```php
693693
$server = new Clue\React\Socks\Server();
694694

695-
// listen on localhost:$port
696-
$socket = new React\Socket\Server($port);
695+
// listen on localhost:1080
696+
$socket = new React\Socket\SocketServer('127.0.0.1:1080');
697697
$server->listen($socket);
698698
```
699699

@@ -718,7 +718,7 @@ proxy servers etc.), you can explicitly pass a custom instance of the
718718
[`ConnectorInterface`](https://github.com/reactphp/socket#connectorinterface):
719719

720720
```php
721-
$connector = new React\Socket\Connector(null, array(
721+
$connector = new React\Socket\Connector(array(
722722
'dns' => '127.0.0.1',
723723
'tcp' => array(
724724
'bindto' => '192.168.10.1:0'
@@ -835,7 +835,7 @@ $proxy = new Clue\React\Socks\Client('user:[email protected]:1080');
835835
$server = new Clue\React\Socks\Server(null, $proxy);
836836

837837
// listen on localhost:1080
838-
$socket = new React\Socket\Server('127.0.0.1:1080');
838+
$socket = new React\Socket\SocketServer('127.0.0.1:1080');
839839
$server->listen($socket);
840840
```
841841

@@ -880,7 +880,7 @@ You can simply start your listening socket on the `tls://` URI scheme like this:
880880
$server = new Clue\React\Socks\Server();
881881

882882
// listen on tls://127.0.0.1:1080 with the given server certificate
883-
$socket = new React\Socket\Server('tls://127.0.0.1:1080', null, array(
883+
$socket = new React\Socket\SocketServer('tls://127.0.0.1:1080', array(
884884
'tls' => array(
885885
'local_cert' => __DIR__ . '/localhost.pem',
886886
)
@@ -915,7 +915,7 @@ You can simply start your listening socket on the `unix://` URI scheme like this
915915
$server = new Clue\React\Socks\Server();
916916

917917
// listen on /tmp/proxy.sock
918-
$socket = new React\Socket\Server('unix:///tmp/proxy.sock');
918+
$socket = new React\Socket\SocketServer('unix:///tmp/proxy.sock');
919919
$server->listen($socket);
920920
```
921921

composer.json

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,14 +13,14 @@
1313
"require": {
1414
"php": ">=5.3",
1515
"react/promise": "^2.1 || ^1.2",
16-
"react/socket": "^1.8"
16+
"react/socket": "^1.9"
1717
},
1818
"require-dev": {
1919
"clue/block-react": "^1.1",
2020
"clue/connection-manager-extra": "^1.0 || ^0.7",
2121
"phpunit/phpunit": "^9.3 || ^5.7 || ^4.8.35",
2222
"react/event-loop": "^1.2",
23-
"react/http": "^1.4"
23+
"react/http": "^1.5"
2424
},
2525
"autoload": {
2626
"psr-4": { "Clue\\React\\Socks\\": "src/" }

examples/01-https-request.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -23,13 +23,13 @@
2323

2424
$proxy = new Clue\React\Socks\Client($url);
2525

26-
$connector = new React\Socket\Connector(null, array(
26+
$connector = new React\Socket\Connector(array(
2727
'tcp' => $proxy,
2828
'timeout' => 3.0,
2929
'dns' => false
3030
));
3131

32-
$browser = new React\Http\Browser(null, $connector);
32+
$browser = new React\Http\Browser($connector);
3333

3434
$browser->get('https://example.com/')->then(function (Psr\Http\Message\ResponseInterface $response) {
3535
var_dump($response->getHeaders(), (string) $response->getBody());

examples/02-optional-proxy-https-request.php

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,14 +20,14 @@
2020
if ($url !== false) {
2121
$proxy = new Clue\React\Socks\Client($url);
2222

23-
$connector = new React\Socket\Connector(null, array(
23+
$connector = new React\Socket\Connector(array(
2424
'tcp' => $proxy,
2525
'timeout' => 3.0,
2626
'dns' => false
2727
));
2828
}
2929

30-
$browser = new React\Http\Browser(null, $connector);
30+
$browser = new React\Http\Browser($connector);
3131

3232
$browser->get('https://example.com/')->then(function (Psr\Http\Message\ResponseInterface $response) {
3333
var_dump($response->getHeaders(), (string) $response->getBody());

examples/11-proxy-raw-http-protocol.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626

2727
$proxy = new Clue\React\Socks\Client($url);
2828

29-
$connector = new React\Socket\Connector(null, array(
29+
$connector = new React\Socket\Connector(array(
3030
'tcp' => $proxy,
3131
'timeout' => 3.0,
3232
'dns' => false

examples/12-optional-proxy-raw-http-protocol.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
if ($url !== false) {
2727
$proxy = new Clue\React\Socks\Client($url);
2828

29-
$connector = new React\Socket\Connector(null, array(
29+
$connector = new React\Socket\Connector(array(
3030
'tcp' => $proxy,
3131
'timeout' => 3.0,
3232
'dns' => false

examples/13-proxy-raw-https-protocol.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626

2727
$proxy = new Clue\React\Socks\Client($url);
2828

29-
$connector = new React\Socket\Connector(null, array(
29+
$connector = new React\Socket\Connector(array(
3030
'tcp' => $proxy,
3131
'timeout' => 3.0,
3232
'dns' => false

examples/14-optional-proxy-raw-https-protocol.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
if ($url !== false) {
2727
$proxy = new Clue\React\Socks\Client($url);
2828

29-
$connector = new React\Socket\Connector(null, array(
29+
$connector = new React\Socket\Connector(array(
3030
'tcp' => $proxy,
3131
'timeout' => 3.0,
3232
'dns' => false

examples/15-proxy-chaining.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@
3030

3131
// please note how the client uses p3 (not p1!), which in turn then uses the complete chain
3232
// this creates a TCP/IP connection to p1, which then connects to p2, then to p3, which then connects to the target
33-
$connector = new React\Socket\Connector(null, array(
33+
$connector = new React\Socket\Connector(array(
3434
'tcp' => $connector,
3535
'timeout' => 3.0,
3636
'dns' => false

examples/16-local-dns.php

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
$proxy = new Clue\React\Socks\Client($url);
1717

1818
// set up DNS server to use (Google's public DNS)
19-
$connector = new React\Socket\Connector(null, array(
19+
$connector = new React\Socket\Connector(array(
2020
'tcp' => $proxy,
2121
'timeout' => 3.0,
2222
'dns' => '8.8.8.8'

0 commit comments

Comments
 (0)