1--TEST--
2Test curl_copy_handle() with simple POST
3--SKIPIF--
4<?php if (!extension_loaded("curl") || false === getenv('PHP_CURL_HTTP_REMOTE_SERVER')) print "skip need PHP_CURL_HTTP_REMOTE_SERVER environment variable"; ?>
5--FILE--
6<?php
7  $host = getenv('PHP_CURL_HTTP_REMOTE_SERVER');
8
9  echo '*** Testing curl copy handle with simple POST using array as arguments ***' . "\n";
10
11  $url = "{$host}/get.php?test=getpost";
12  $ch = curl_init();
13
14  ob_start(); // start output buffering
15  curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
16  curl_setopt($ch, CURLOPT_POST, 1);
17  curl_setopt($ch, CURLOPT_POSTFIELDS, array("Hello" => "World", "Foo" => "Bar", "Person" => "John Doe"));
18  curl_setopt($ch, CURLOPT_HTTPHEADER, array('Expect:')); // Disable Expect: header (lighttpd does not support it :)
19  curl_setopt($ch, CURLOPT_URL, $url); //set the url we want to use
20
21  $copy = curl_copy_handle($ch);
22  curl_close($ch);
23
24  $curl_content = curl_exec($copy);
25  curl_close($copy);
26
27  var_dump( $curl_content );
28?>
29===DONE===
30--EXPECTF--
31*** Testing curl copy handle with simple POST using array as arguments ***
32string(163) "array(1) {
33  ["test"]=>
34  string(7) "getpost"
35}
36array(3) {
37  ["Hello"]=>
38  string(5) "World"
39  ["Foo"]=>
40  string(3) "Bar"
41  ["Person"]=>
42  string(8) "John Doe"
43}
44"
45===DONE===
46