Merge pull request #96 from Jan-E/master
[m6w6/ext-http] / tests / headerparser003.phpt
1 --TEST--
2 header parser with nonblocking stream
3 --SKIPIF--
4 <?php
5 include "skipif.inc";
6 ?>
7 --FILE--
8 <?php
9 echo "Test\n";
10
11 $parser = new http\Header\Parser;
12 $socket = stream_socket_pair(STREAM_PF_UNIX, STREAM_SOCK_STREAM, STREAM_IPPROTO_IP);
13 stream_set_blocking($socket[0], 0);
14
15 $headers = array(
16 "GET / HTTP/1.1\n",
17 "Host: localhost","\n",
18 "Content","-length: 3\n",
19 "\n",
20 );
21
22 while ($headers) {
23 $line = array_shift($headers);
24 $parser->stream($socket[0], 0, $hdrs);
25 fwrite($socket[1], $line);
26 var_dump($parser->getState());
27 var_dump($parser->stream($socket[0], 0, $hdrs));
28 }
29
30 var_dump($hdrs);
31
32 ?>
33 DONE
34 --EXPECT--
35 Test
36 int(0)
37 int(1)
38 int(1)
39 int(2)
40 int(2)
41 int(3)
42 int(3)
43 int(1)
44 int(1)
45 int(3)
46 int(3)
47 int(5)
48 array(2) {
49 ["Host"]=>
50 string(9) "localhost"
51 ["Content-Length"]=>
52 string(1) "3"
53 }
54 DONE