Merge pull request #96 from Jan-E/master
[m6w6/ext-http] / tests / client018.phpt
index c3ca9f96f3f655b9dff2f602187ed8f32b704955..4bf8c48e4d09cc122ae02a2021679fe6079ea120 100644 (file)
@@ -4,6 +4,9 @@ client pipelining
 <?php 
 include "skipif.inc";
 skip_client_test();
+if (version_compare(http\Client\Curl\Versions\CURL, "7.62.0", ">=")) {
+       die("skip CURL_VERSION >= 7.62 -- pipelining disabled\n");
+}
 ?>
 --FILE--
 <?php 
@@ -12,6 +15,10 @@ include "helper/server.inc";
 
 echo "Test\n";
 
+function dump($response) {
+       echo $response->getHeader("X-Req"),"\n";
+}
+
 server("pipeline.inc", function($port, $stdin, $stdout, $stderr) {
        /* tell the server we're about to send 3 pipelined messages */
        fputs($stdin, "3\n");
@@ -20,37 +27,21 @@ server("pipeline.inc", function($port, $stdin, $stdout, $stderr) {
        $client->configure(array("pipelining" => true, "max_host_connections" => 0));
        
        /* this is just to let curl know the server may be capable of pipelining */
-       $client->enqueue(new http\Client\Request("GET", "http://localhost:$port"));
+       $client->enqueue(new http\Client\Request("GET", "http://localhost:$port"), "dump");
        $client->send();
        
-       $client->enqueue(new http\Client\Request("GET", "http://localhost:$port/1"));
-       $client->enqueue(new http\Client\Request("GET", "http://localhost:$port/2"));
-       $client->enqueue(new http\Client\Request("GET", "http://localhost:$port/3"));
+       $client->enqueue(new http\Client\Request("GET", "http://localhost:$port/1"), "dump");
+       $client->enqueue(new http\Client\Request("GET", "http://localhost:$port/2"), "dump");
+       $client->enqueue(new http\Client\Request("GET", "http://localhost:$port/3"), "dump");
        $client->send();
-       
-       while (($response = $client->getResponse())) {
-               echo $response;
-       }
 });
 
 ?>
 ===DONE===
 --EXPECT--
 Test
-HTTP/1.1 200 OK
-X-Req: /3
-Etag: ""
-X-Original-Transfer-Encoding: chunked
-HTTP/1.1 200 OK
-X-Req: /2
-Etag: ""
-X-Original-Transfer-Encoding: chunked
-HTTP/1.1 200 OK
-X-Req: /1
-Etag: ""
-X-Original-Transfer-Encoding: chunked
-HTTP/1.1 200 OK
-X-Req: /
-Etag: ""
-X-Original-Transfer-Encoding: chunked
+/
+/1
+/2
+/3
 ===DONE===