- avoid endless loop if attach() is called while the iterator is active
[m6w6/ext-http] / tests / HttpRequestPool_001.phpt
1 --TEST--
2 HttpRequestPool
3 --SKIPIF--
4 <?php
5 include 'skip.inc';
6 checkver(5);
7 checkcls('HttpRequestPool');
8 checkurl('www.php.net');
9 checkurl('pear.php.net');
10 checkurl('pecl.php.net');
11 checkurl('dev.iworks.at');
12 ?>
13 --FILE--
14 <?php
15 echo "-TEST\n";
16 $pool = new HttpRequestPool(
17 new HttpRequest('http://www.php.net/', HTTP_METH_HEAD),
18 new HttpRequest('http://pear.php.net/', HTTP_METH_HEAD),
19 new HttpRequest('http://pecl.php.net/', HTTP_METH_HEAD),
20 $post = new HttpRequest('http://dev.iworks.at/.print_request.php', HTTP_METH_POST)
21 );
22 $post->addPostFields(array('a'=>1,'b'=>2)) ;
23 $pool->send();
24 foreach ($pool as $req) {
25 echo $req->getUrl(), '=',
26 $req->getResponseCode(), ':',
27 $req->getResponseMessage()->getResponseCode(), "\n";
28 }
29 foreach ($pool as $req) {
30 try {
31 $pool->attach(new HttpRequest('http://foo.bar'));
32 } catch (HttpRequestPoolException $x) {
33 echo ".\n";
34 }
35 }
36 foreach ($pool as $req) {
37 $pool->detach($req);
38 }
39 echo "Done\n";
40 ?>
41 --EXPECTF--
42 %sTEST
43 http://www.php.net/=200:200
44 http://pear.php.net/=200:200
45 http://pecl.php.net/=200:200
46 http://dev.iworks.at/.print_request.php=200:200
47 .
48 .
49 .
50 .
51 Done