moved
authorMichael Wallner <mike@php.net>
Thu, 12 Feb 2015 10:13:37 +0000 (11:13 +0100)
committerMichael Wallner <mike@php.net>
Thu, 12 Feb 2015 10:13:37 +0000 (11:13 +0100)
tests/client018.phpt [new file with mode: 0644]
tests/client019.phpt [new file with mode: 0644]
tests/client020.phpt [new file with mode: 0644]

diff --git a/tests/client018.phpt b/tests/client018.phpt
new file mode 100644 (file)
index 0000000..d3daccb
--- /dev/null
@@ -0,0 +1,56 @@
+--TEST--
+pipelining
+--SKIPIF--
+<?php 
+include "skipif.inc";
+skip_client_test();
+?>
+--FILE--
+<?php 
+
+include "helper/server.inc";
+
+echo "Test\n";
+
+server("pipeline.inc", function($port, $stdin, $stdout, $stderr) {
+       /* tell the server we're about to send 3 pipelined messages */
+       fputs($stdin, "3\n");
+       
+       $client = new http\Client(null);
+       $client->configure(["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->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->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
+===DONE===
diff --git a/tests/client019.phpt b/tests/client019.phpt
new file mode 100644 (file)
index 0000000..66d99be
--- /dev/null
@@ -0,0 +1,47 @@
+--TEST--
+proxy - send proxy headers for a proxy request
+--SKIPIF--
+<?php 
+include "skipif.inc";
+skip_client_test();
+?>
+--FILE--
+<?php
+
+include "helper/server.inc";
+
+echo "Test\n";
+
+server("proxy.inc", function($port, $stdin, $stdout, $stderr) {
+       echo "Server on port $port\n";
+       
+       $c = new http\Client;
+       $r = new http\Client\Request("GET", "http://www.example.com/");
+       $r->setOptions(array(
+                       "timeout" => 3,
+                       "proxytunnel" => true,
+                       "proxyheader" => array("Hello" => "there!"),
+                       "proxyhost" => "localhost",
+                       "proxyport" => $port,
+       ));
+       try {
+               $c->enqueue($r)->send();
+       } catch (Exception $e) {
+               echo $e;
+       }
+       echo $c->getResponse()->getBody();
+       unset($r, $client);
+});
+
+?>
+===DONE===
+--EXPECTF--
+Test
+Server on port %d
+CONNECT www.example.com:80 HTTP/1.1
+Host: www.example.com:80
+User-Agent: PECL_HTTP/%s PHP/%s libcurl/%s
+Proxy-Connection: Keep-Alive
+Hello: there!
+Content-Length: 0
+===DONE===
diff --git a/tests/client020.phpt b/tests/client020.phpt
new file mode 100644 (file)
index 0000000..29a6ed2
--- /dev/null
@@ -0,0 +1,42 @@
+--TEST--
+proxy - don't send proxy headers for a standard request
+--SKIPIF--
+<?php 
+include "skipif.inc";
+skip_client_test();
+?>
+--FILE--
+<?php
+
+include "helper/server.inc";
+
+echo "Test\n";
+
+server("proxy.inc", function($port, $stdin, $stdout, $stderr) {
+       echo "Server on port $port\n";
+       $c = new http\Client;
+       $r = new http\Client\Request("GET", "http://localhost:$port/");
+       $r->setOptions(array(
+               "timeout" => 3,
+               "proxyheader" => array("Hello" => "there!"),
+       ));
+       try {
+               $c->enqueue($r)->send();
+       } catch (Exception $e) {
+               echo $e;
+       }
+       echo $c->getResponse()->getBody();
+       unset($r, $client);
+});
+
+?>
+===DONE===
+--EXPECTF--
+Test
+Server on port %d
+GET / HTTP/1.1
+User-Agent: PECL_HTTP/%s PHP/%s libcurl/%s
+Host: localhost:%d
+Accept: */*
+Content-Length: 0
+===DONE===