fix for changed shutdown order in PHP-7.4
[m6w6/ext-http] / tests / client012.phpt
1 --TEST--
2 client ssl
3 --SKIPIF--
4 <?php
5 include "skipif.inc";
6 skip_online_test();
7 skip_client_test();
8 skip_curl_test("7.34.0");
9 ?>
10 --FILE--
11 <?php
12 echo "Test\n";
13
14 $client = new http\Client;
15
16 $client->setSslOptions(array("verifypeer" => true));
17 $client->addSslOptions(array("verifyhost" => 2));
18 var_dump(
19 array(
20 "verifypeer" => true,
21 "verifyhost" => 2,
22 ) === $client->getSslOptions()
23 );
24
25 $client->attach($observer = new class implements SplObserver {
26 public $data = [];
27 function update(SplSubject $client, $req = null, $progress = null) {
28 $ti = $client->getTransferInfo($req);
29 if (isset($ti->tls_session["internals"])) {
30 foreach ((array) $ti->tls_session["internals"] as $key => $val) {
31 if (!isset($this->data[$key]) || $this->data[$key] < $val) {
32 $this->data[$key] = $val;
33 }
34 }
35 }
36 }
37 });
38
39 $client->enqueue($req = new http\Client\Request("GET", "https://twitter.com/"));
40 $client->send();
41
42 switch ($client->getTransferInfo($req)->tls_session["backend"]) {
43 case "openssl":
44 case "gnutls":
45 if (count($observer->data) < 1) {
46 die("failed count(ssl.internals) >= 1\n");
47 }
48 break;
49 default:
50 break;
51 }
52 ?>
53 Done
54 --EXPECTF--
55 Test
56 bool(true)
57 Done