Skip to content

Commit b4682b8

Browse files
committed
Simplify examples by updating to new default loop
1 parent c067ae7 commit b4682b8

9 files changed

+46
-72
lines changed

README.md

Lines changed: 25 additions & 26 deletions
Original file line numberDiff line numberDiff line change
@@ -71,13 +71,12 @@ The following example code demonstrates how this library can be used to send a
7171
secure HTTPS request to google.com through a local HTTP proxy server:
7272

7373
```php
74-
$loop = React\EventLoop\Factory::create();
75-
7674
$proxy = new Clue\React\HttpProxy\ProxyConnector(
7775
'127.0.0.1:8080',
78-
new React\Socket\Connector($loop)
76+
new React\Socket\Connector()
7977
);
80-
$connector = new React\Socket\Connector($loop, array(
78+
79+
$connector = new React\Socket\Connector(null, array(
8180
'tcp' => $proxy,
8281
'timeout' => 3.0,
8382
'dns' => false
@@ -89,8 +88,6 @@ $connector->connect('tls://google.com:443')->then(function (React\Socket\Connect
8988
echo $chunk;
9089
});
9190
}, 'printf');
92-
93-
$loop->run();
9491
```
9592

9693
See also the [examples](examples).
@@ -110,8 +107,10 @@ Its constructor simply accepts an HTTP proxy URL and a connector used to connect
110107
to the proxy server address:
111108

112109
```php
113-
$connector = new React\Socket\Connector($loop);
114-
$proxy = new Clue\React\HttpProxy\ProxyConnector('http://127.0.0.1:8080', $connector);
110+
$proxy = new Clue\React\HttpProxy\ProxyConnector(
111+
'http://127.0.0.1:8080',
112+
new React\Socket\Connector()
113+
);
115114
```
116115

117116
The proxy URL may or may not contain a scheme and port definition. The default
@@ -153,7 +152,7 @@ a streaming plain TCP/IP connection and use any higher level protocol like so:
153152
```php
154153
$proxy = new Clue\React\HttpProxy\ProxyConnector(
155154
'127.0.0.1:8080',
156-
new React\Socket\Connector($loop)
155+
new React\Socket\Connector()
157156
);
158157

159158
$proxy->connect('tcp://smtp.googlemail.com:587')->then(function (React\Socket\ConnectionInterface $connection) {
@@ -170,10 +169,10 @@ in ReactPHP's [`Connector`](https://github.com/reactphp/socket#connector):
170169
```php
171170
$proxy = new Clue\React\HttpProxy\ProxyConnector(
172171
'127.0.0.1:8080',
173-
new React\Socket\Connector($loop)
172+
new React\Socket\Connector()
174173
);
175174

176-
$connector = new React\Socket\Connector($loop, array(
175+
$connector = new React\Socket\Connector(null, array(
177176
'tcp' => $proxy,
178177
'dns' => false
179178
));
@@ -200,10 +199,10 @@ low-level [`SecureConnector`](https://github.com/reactphp/socket#secureconnector
200199
```php
201200
$proxy = new Clue\React\HttpProxy\ProxyConnector(
202201
'127.0.0.1:8080',
203-
new React\Socket\Connector($loop)
202+
new React\Socket\Connector()
204203
);
205204

206-
$connector = new React\Socket\Connector($loop, array(
205+
$connector = new React\Socket\Connector(null, array(
207206
'tcp' => $proxy,
208207
'dns' => false
209208
));
@@ -230,15 +229,15 @@ This allows you to send both plain HTTP and TLS-encrypted HTTPS requests like th
230229
```php
231230
$proxy = new Clue\React\HttpProxy\ProxyConnector(
232231
'127.0.0.1:8080',
233-
new React\Socket\Connector($loop)
232+
new React\Socket\Connector()
234233
);
235234

236-
$connector = new React\Socket\Connector($loop, array(
235+
$connector = new React\Socket\Connector(null, array(
237236
'tcp' => $proxy,
238237
'dns' => false
239238
));
240239

241-
$browser = new React\Http\Browser($loop, $connector);
240+
$browser = new React\Http\Browser(null, $connector);
242241

243242
$browser->get('https://example.com/')->then(function (Psr\Http\Message\ResponseInterface $response) {
244243
var_dump($response->getHeaders(), (string) $response->getBody());
@@ -270,10 +269,10 @@ underlying connection attempt if it takes too long:
270269
```php
271270
$proxy = new Clue\React\HttpProxy\ProxyConnector(
272271
'127.0.0.1:8080',
273-
new React\Socket\Connector($loop)
272+
new React\Socket\Connector()
274273
);
275274

276-
$connector = new React\Socket\Connector($loop, array(
275+
$connector = new React\Socket\Connector(null, array(
277276
'tcp' => $proxy,
278277
'dns' => false,
279278
'timeout' => 3.0
@@ -317,10 +316,10 @@ other examples explicitly disable DNS resolution like this:
317316
```php
318317
$proxy = new Clue\React\HttpProxy\ProxyConnector(
319318
'127.0.0.1:8080',
320-
new React\Socket\Connector($loop)
319+
new React\Socket\Connector()
321320
);
322321

323-
$connector = new React\Socket\Connector($loop, array(
322+
$connector = new React\Socket\Connector(null, array(
324323
'tcp' => $proxy,
325324
'dns' => false
326325
));
@@ -331,11 +330,11 @@ If you want to explicitly use *local DNS resolution*, you can use the following
331330
```php
332331
$proxy = new Clue\React\HttpProxy\ProxyConnector(
333332
'127.0.0.1:8080',
334-
new React\Socket\Connector($loop)
333+
new React\Socket\Connector()
335334
);
336335

337336
// set up Connector which uses Google's public DNS (8.8.8.8)
338-
$connector = new React\Socket\Connector($loop, array(
337+
$connector = new React\Socket\Connector(null, array(
339338
'tcp' => $proxy,
340339
'dns' => '8.8.8.8'
341340
));
@@ -352,7 +351,7 @@ password as part of the HTTP proxy URL like this:
352351
```php
353352
$proxy = new Clue\React\HttpProxy\ProxyConnector(
354353
'http://user:[email protected]:8080',
355-
new React\Socket\Connector($loop)
354+
new React\Socket\Connector()
356355
);
357356
```
358357

@@ -413,7 +412,7 @@ instance to create a secure connection to the proxy:
413412
```php
414413
$proxy = new Clue\React\HttpProxy\ProxyConnector(
415414
'https://127.0.0.1:443',
416-
new React\Socket\Connector($loop)
415+
new React\Socket\Connector()
417416
);
418417

419418
$proxy->connect('tcp://smtp.googlemail.com:587');
@@ -433,7 +432,7 @@ You can simply use the `http+unix://` URI scheme like this:
433432
```php
434433
$proxy = new Clue\React\HttpProxy\ProxyConnector(
435434
'http+unix:///tmp/proxy.sock',
436-
new React\Socket\Connector($loop)
435+
new React\Socket\Connector()
437436
);
438437

439438
$proxy->connect('tcp://google.com:80')->then(function (React\Socket\ConnectionInterface $connection) {
@@ -447,7 +446,7 @@ like this:
447446
```php
448447
$proxy = new Clue\React\HttpProxy\ProxyConnector(
449448
'http+unix://user:pass@/tmp/proxy.sock',
450-
new React\Socket\Connector($loop)
449+
new React\Socket\Connector()
451450
);
452451
```
453452

composer.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,13 @@
1919
"require": {
2020
"php": ">=5.3",
2121
"react/promise": " ^2.1 || ^1.2.1",
22-
"react/socket": "^1.1",
22+
"react/socket": "^1.8",
2323
"ringcentral/psr7": "^1.2"
2424
},
2525
"require-dev": {
2626
"phpunit/phpunit": "^9.3 || ^5.7 || ^4.8",
27-
"react/event-loop": "^1.0 || ^0.5 || ^0.4 || ^0.3",
28-
"react/http": "^1.0",
27+
"react/event-loop": "^1.2",
28+
"react/http": "^1.4",
2929
"clue/block-react": "^1.1"
3030
}
3131
}

examples/01-http-request.php

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -21,23 +21,20 @@
2121
$url = 'localhost:8080';
2222
}
2323

24-
$loop = React\EventLoop\Factory::create();
2524
$proxy = new Clue\React\HttpProxy\ProxyConnector(
2625
$url,
27-
new React\Socket\Connector($loop)
26+
new React\Socket\Connector()
2827
);
2928

30-
$connector = new React\Socket\Connector($loop, array(
29+
$connector = new React\Socket\Connector(null, array(
3130
'tcp' => $proxy,
3231
'dns' => false
3332
));
3433

35-
$browser = new React\Http\Browser($loop, $connector);
34+
$browser = new React\Http\Browser(null, $connector);
3635

3736
$browser->get('https://example.com/')->then(function (Psr\Http\Message\ResponseInterface $response) {
3837
var_dump($response->getHeaders(), (string) $response->getBody());
3938
}, function (Exception $e) {
4039
echo 'Error: ' . $e->getMessage() . PHP_EOL;
4140
});
42-
43-
$loop->run();

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

Lines changed: 4 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -15,28 +15,25 @@
1515

1616
require __DIR__ . '/../vendor/autoload.php';
1717

18-
$loop = React\EventLoop\Factory::create();
19-
2018
$connector = null;
2119
$url = getenv('http_proxy');
2220
if ($url !== false) {
2321
$proxy = new Clue\React\HttpProxy\ProxyConnector(
2422
$url,
25-
new React\Socket\Connector($loop)
23+
new React\Socket\Connector()
2624
);
27-
$connector = new React\Socket\Connector($loop, array(
25+
26+
$connector = new React\Socket\Connector(null, array(
2827
'tcp' => $proxy,
2928
'timeout' => 3.0,
3029
'dns' => false
3130
));
3231
}
3332

34-
$browser = new React\Http\Browser($loop, $connector);
33+
$browser = new React\Http\Browser(null, $connector);
3534

3635
$browser->get('https://example.com/')->then(function (Psr\Http\Message\ResponseInterface $response) {
3736
var_dump($response->getHeaders(), (string) $response->getBody());
3837
}, function (Exception $e) {
3938
echo 'Error: ' . $e->getMessage() . PHP_EOL;
4039
});
41-
42-
$loop->run();

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

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,14 +24,12 @@
2424
$url = 'localhost:8080';
2525
}
2626

27-
$loop = React\EventLoop\Factory::create();
28-
2927
$proxy = new Clue\React\HttpProxy\ProxyConnector(
3028
$url,
31-
new React\Socket\Connector($loop)
29+
new React\Socket\Connector()
3230
);
3331

34-
$connector = new React\Socket\Connector($loop, array(
32+
$connector = new React\Socket\Connector(null, array(
3533
'tcp' => $proxy,
3634
'timeout' => 3.0,
3735
'dns' => false
@@ -45,5 +43,3 @@
4543
}, function (Exception $e) {
4644
echo 'Error: ' . $e->getMessage() . PHP_EOL;
4745
});
48-
49-
$loop->run();

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

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -22,17 +22,16 @@
2222

2323
require __DIR__ . '/../vendor/autoload.php';
2424

25-
$loop = React\EventLoop\Factory::create();
26-
27-
$connector = new React\Socket\Connector($loop);
25+
$connector = new React\Socket\Connector();
2826

2927
$url = getenv('http_proxy');
3028
if ($url !== false) {
3129
$proxy = new Clue\React\HttpProxy\ProxyConnector(
3230
$url,
3331
$connector
3432
);
35-
$connector = new React\Socket\Connector($loop, array(
33+
34+
$connector = new React\Socket\Connector(null, array(
3635
'tcp' => $proxy,
3736
'timeout' => 3.0,
3837
'dns' => false
@@ -47,5 +46,3 @@
4746
}, function (Exception $e) {
4847
echo 'Error: ' . $e->getMessage() . PHP_EOL;
4948
});
50-
51-
$loop->run();

examples/13-custom-proxy-headers.php

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -24,18 +24,16 @@
2424
$url = 'localhost:8080';
2525
}
2626

27-
$loop = React\EventLoop\Factory::create();
28-
2927
$proxy = new Clue\React\HttpProxy\ProxyConnector(
3028
$url,
31-
new React\Socket\Connector($loop),
29+
new React\Socket\Connector(),
3230
array(
3331
'X-Custom-Header-1' => 'Value-1',
3432
'X-Custom-Header-2' => 'Value-2',
3533
)
3634
);
3735

38-
$connector = new React\Socket\Connector($loop, array(
36+
$connector = new React\Socket\Connector(null, array(
3937
'tcp' => $proxy,
4038
'timeout' => 3.0,
4139
'dns' => false,
@@ -49,5 +47,3 @@
4947
}, function (Exception $e) {
5048
echo 'Error: ' . $e->getMessage() . PHP_EOL;
5149
});
52-
53-
$loop->run();

examples/21-proxy-raw-smtp-protocol.php

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -23,14 +23,12 @@
2323
$url = 'localhost:8080';
2424
}
2525

26-
$loop = React\EventLoop\Factory::create();
27-
2826
$proxy = new Clue\React\HttpProxy\ProxyConnector(
2927
$url,
30-
new React\Socket\Connector($loop)
28+
new React\Socket\Connector()
3129
);
3230

33-
$connector = new React\Socket\Connector($loop, array(
31+
$connector = new React\Socket\Connector(null, array(
3432
'tcp' => $proxy,
3533
'timeout' => 3.0,
3634
'dns' => false
@@ -45,5 +43,3 @@
4543
}, function (Exception $e) {
4644
echo 'Error: ' . $e->getMessage() . PHP_EOL;
4745
});
48-
49-
$loop->run();

examples/22-proxy-raw-smtps-protocol.php

Lines changed: 2 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -26,14 +26,12 @@
2626
$url = 'localhost:8080';
2727
}
2828

29-
$loop = React\EventLoop\Factory::create();
30-
3129
$proxy = new Clue\React\HttpProxy\ProxyConnector(
3230
$url,
33-
new React\Socket\Connector($loop)
31+
new React\Socket\Connector()
3432
);
3533

36-
$connector = new React\Socket\Connector($loop, array(
34+
$connector = new React\Socket\Connector(null, array(
3735
'tcp' => $proxy,
3836
'timeout' => 3.0,
3937
'dns' => false
@@ -48,5 +46,3 @@
4846
}, function (Exception $e) {
4947
echo 'Error: ' . $e->getMessage() . PHP_EOL;
5048
});
51-
52-
$loop->run();

0 commit comments

Comments
 (0)