a85e81755efa0e0caf97ff76d5c82958ed6540a2
[m6w6/ext-http] / tests / HttpRequestPool_002.phpt
1 --TEST--
2 extending HttpRequestPool
3 --SKIPIF--
4 <?php
5 include 'skip.inc';
6 checkcls('HttpRequestPool');
7 checkurl('ch.php.net');
8 checkurl('at.php.net');
9 checkurl('de.php.net');
10 checkurl('www.php.net');
11 ?>
12 --FILE--
13 <?php
14 echo "-TEST\n";
15
16 class MyPool extends HttpRequestPool
17 {
18 public function send()
19 {
20 while ($this->socketPerform()) {
21 if (!$this->socketSelect()) {
22 throw new HttpSocketException;
23 }
24 }
25 }
26
27 protected final function socketPerform()
28 {
29 $result = parent::socketPerform();
30
31 echo ".";
32 foreach ($this->getFinishedRequests() as $r) {
33 echo "=", $r->getResponseCode(), "=";
34 $this->detach($r);
35 }
36
37 return $result;
38 }
39 }
40
41 $pool = new MyPool(
42 new HttpRequest('http://www.php.net/', HTTP_METH_HEAD),
43 new HttpRequest('http://at.php.net/', HTTP_METH_HEAD),
44 new HttpRequest('http://de.php.net/', HTTP_METH_HEAD),
45 new HttpRequest('http://ch.php.net/', HTTP_METH_HEAD)
46 );
47
48 $pool->send();
49
50 echo "\nDone\n";
51 ?>
52 --EXPECTREGEX--
53 .+TEST
54 \.*=200=\.*=200=\.*=200=\.*=200=
55 Done