4 * Common parameter parsing for benchmark and tests scripts.
7 * @param string LOCALSERVER
9 * @param string HTTPSSERVER
10 * @param string HTTPSSURI
12 * @param string NOPROXY
13 * @param bool HTTPSIGNOREPEER
14 * @param int HTTPSVERIFYHOST
15 * @param int SSLVERSION
17 * @copyright (C) 2007-2020 G. Giunta
18 * @license code licensed under the BSD License: see file license.txt
22 public static function getArgs()
28 'LOCALSERVER' => 'localhost',
29 'HTTPSSERVER' => 'gggeek.ssl.altervista.org',
30 'HTTPSURI' => '/sw/xmlrpc/demo/server/server.php',
31 'HTTPSIGNOREPEER' => false,
32 'HTTPSVERIFYHOST' => 2,
34 'PROXYSERVER' => null,
36 'LOCALPATH' => __DIR__,
39 // check for command line vs web page input params
40 if (!isset($_SERVER['REQUEST_METHOD'])) {
42 foreach ($argv as $param) {
43 $param = explode('=', $param);
44 if (count($param) > 1) {
45 $pname = strtoupper(ltrim($param[0], '-'));
51 // NB: we might as well consider using $_GET stuff later on...
57 $args['DEBUG'] = intval($DEBUG);
59 if (isset($LOCALSERVER)) {
60 $args['LOCALSERVER'] = $LOCALSERVER;
62 if (isset($HTTP_HOST)) {
63 $args['LOCALSERVER'] = $HTTP_HOST;
64 } elseif (isset($_SERVER['HTTP_HOST'])) {
65 $args['LOCALSERVER'] = $_SERVER['HTTP_HOST'];
68 if (isset($HTTPSSERVER)) {
69 $args['HTTPSSERVER'] = $HTTPSSERVER;
71 if (isset($HTTPSURI)) {
72 $args['HTTPSURI'] = $HTTPSURI;
74 if (isset($HTTPSIGNOREPEER)) {
75 $args['HTTPSIGNOREPEER'] = (bool)$HTTPSIGNOREPEER;
77 if (isset($HTTPSVERIFYHOST)) {
78 $args['HTTPSVERIFYHOST'] = (int)$HTTPSVERIFYHOST;
80 if (isset($SSLVERSION)) {
81 $args['SSLVERSION'] = (int)$SSLVERSION;
84 $arr = explode(':', $PROXY);
85 $args['PROXYSERVER'] = $arr[0];
86 if (count($arr) > 1) {
87 $args['PROXYPORT'] = $arr[1];
89 $args['PROXYPORT'] = 8080;
92 // used to silence testsuite warnings about proxy code not being tested
93 if (isset($NOPROXY)) {
94 $args['NOPROXY'] = true;
97 // GUESTIMATE the url of local demo server
98 // play nice to php 3 and 4-5 in retrieving URL of server.php
99 /// @todo filter out query string from REQUEST_URI
100 if (isset($REQUEST_URI)) {
101 $URI = str_replace('/tests/testsuite.php', '/demo/server/server.php', $REQUEST_URI);
102 $URI = str_replace('/testsuite.php', '/server.php', $URI);
103 $URI = str_replace('/tests/benchmark.php', '/demo/server/server.php', $URI);
104 $URI = str_replace('/benchmark.php', '/server.php', $URI);
105 } elseif (isset($_SERVER['PHP_SELF']) && isset($_SERVER['REQUEST_METHOD'])) {
106 $URI = str_replace('/tests/testsuite.php', '/demo/server/server.php', $_SERVER['PHP_SELF']);
107 $URI = str_replace('/testsuite.php', '/server.php', $URI);
108 $URI = str_replace('/tests/benchmark.php', '/demo/server/server.php', $URI);
109 $URI = str_replace('/benchmark.php', '/server.php', $URI);
111 $URI = '/demo/server/server.php';
114 if ($URI[0] != '/') {
118 if (isset($LOCALPATH)) {
119 $args['LOCALPATH'] = $LOCALPATH;