]> git.openstreetmap.org Git - nominatim.git/blobdiff - lib/cmd.php
make HTTP proxy setup explicit
[nominatim.git] / lib / cmd.php
index 72b666088d1248b601d3edcfad521e99c89da139..b72c1bb41726950b6772ae5ea0157c56331e3e47 100644 (file)
@@ -1,6 +1,6 @@
 <?php
 
-require_once(CONST_BasePath.'/lib/Shell.php');
+require_once(CONST_LibDir.'/Shell.php');
 
 function getCmdOpt($aArg, $aSpec, &$aResult, $bExitOnError = false, $bExitOnUnknown = false)
 {
@@ -195,3 +195,31 @@ function runSQLScript($sScript, $bfatal = true, $bVerbose = false, $bIgnoreError
         fail("pgsql returned with error code ($iReturn)");
     }
 }
+
+function setupHTTPProxy()
+{
+    if (!CONST_HTTP_Proxy) {
+        return;
+    }
+
+    $sProxy = 'tcp://'.CONST_HTTP_Proxy_Host.':'.CONST_HTTP_Proxy_Port;
+    $aHeaders = array();
+
+    if (CONST_HTTP_Proxy_Login != null
+        && CONST_HTTP_Proxy_Login != ''
+        && CONST_HTTP_Proxy_Password != null
+        && CONST_HTTP_Proxy_Password != ''
+    ) {
+        $sAuth = base64_encode(CONST_HTTP_Proxy_Login.':'.CONST_HTTP_Proxy_Password);
+        $aHeaders = array('Proxy-Authorization: Basic '.$sAuth);
+    }
+
+    $aProxyHeader = array(
+                     'proxy' => $sProxy,
+                     'request_fulluri' => true,
+                     'header' => $aHeaders
+                    );
+
+    $aContext = array('http' => $aProxyHeader, 'https' => $aProxyHeader);
+    stream_context_set_default($aContext);
+}