* -------------------------------------------------------------------- *
* Kurzbeschreibung : HTTP-relevante Funktionen *
* -------------------------------------------------------------------- *
- * $Revision:: $ *
- * $Date:: $ *
- * $Tag:: 0.2.1-FINAL $ *
- * $Author:: $ *
- * -------------------------------------------------------------------- *
* Copyright (c) 2003 - 2009 by Roland Haeder *
- * Copyright (c) 2009 - 2013 by Mailer Developer Team *
+ * Copyright (c) 2009 - 2016 by Mailer Developer Team *
* For more information visit: http://mxchange.org *
* *
* This program is free software; you can redistribute it and/or modify *
$body = http_build_query($requestData, '', '&');
// Generate POST request header
- $request = 'POST ' . (isProxyUsed() === TRUE ? $baseUrl : '') . trim($baseUrl) . ' HTTP/1.0' . getConfig('HTTP_EOL');
+ $request = 'POST ' . (isProxyUsed() === TRUE ? $getUrl : '') . trim($getUrl) . ' HTTP/1.0' . getConfig('HTTP_EOL');
$request .= 'Host: ' . $host . getConfig('HTTP_EOL');
$request .= 'Referer: ' . getUrl() . '/admin.php' . getConfig('HTTP_EOL');
if (isConfigEntrySet('FULL_VERSION')) {
// Get resolver instance
$resolver = new HostnameResolver();
- // Get proxy host
- $proxyHost = compileRawCode(getProxyHost());
+ // Default is no proxy
+ $proxyHost = NULL;
+
+ // Is the configuration entry set?
+ if ((!isInstaller()) && (isConfigEntrySet('proxy_host'))) {
+ // Get proxy host
+ $proxyHost = compileRawCode(getProxyHost());
+ } // END - if
// Open connection
if (isProxyUsed() === TRUE) {
//* DEBUG: */ debugOutput('<strong>Response:</strong><pre>'.print_r($response, TRUE).'</pre>');
// Proxy agent found or something went wrong?
- if (count($response) == 0) {
+ if (!isFilledArray($response)) {
// No response, maybe timeout
$response = array('', '', '');
logDebugMessage(__FUNCTION__, __LINE__, 'Invalid empty response array, maybe timed out?');
$GLOBALS['http_headers'][] = getConfig('HTTP_EOL');
// Make sure at least one header is there (which is still not valid but okay here)
- assert((is_array($GLOBALS['http_headers'])) && (count($GLOBALS['http_headers']) > 0));
+ assert(isFilledArray($GLOBALS['http_headers']));
// Merge both together
return merge_array($GLOBALS['http_headers'], array(count($GLOBALS['http_headers']) => $body));
// Is this URL valid?
if (substr($script, 0, 7) == 'http://') {
// Use the hostname from script URL as new hostname
- $url = substr($script, 7);
- $extract = explode('/', $url);
+ $extract = explode('/', substr($script, 7));
$url = $extract[0];
- // Done extracting the URL :)
- } // END - if
+ } elseif (substr($script, 0, 8) == 'https://') {
+ // Use the hostname from script URL as new hostname
+ $extract = explode('/', substr($script, 8));
+ $url = $extract[0];
+ }
// Extract host name
- $host = str_replace('http://', '', $url);
+ $host = str_replace(array('http://', 'https://'), array('', ''), $url);
+
+ // Is there a slash at the end?
if (isInString('/', $host)) {
$host = substr($host, 0, strpos($host, '/'));
} // END - if
+ // Is there a double-dot in? (Means port number)
+ if (strpos($host, ':') !== FALSE) {
+ // Detected a double-dot
+ $hostArray = explode(':', $host);
+ $host = $hostArray[0];
+ } // END - if
+
// Generate relative URL
//* DEBUG: */ debugOutput('SCRIPT=' . $script);
if (substr(strtolower($script), 0, 7) == 'http://') {
// Adds a HTTP header to array
function addHttpHeader ($header) {
// Send the header
- //* DEBUG: */ logDebugMessage(__FUNCTION__ . ': header=' . $header);
+ //* DEBUG: */ logDebugMessage(__FUNCTION__, __LINE__, ': header=' . $header);
array_push($GLOBALS['http_header'], trim($header));
}
} // END - if
}
+// Check if response status OK and array index 'response' is set
+function isHttpResponseStatusOkay ($response) {
+ // Assertion on array
+ assert(is_array($response));
+
+ // Test it
+ $isOkay = ((isset($response['status'])) && ($response['status'] == 'OK'));
+
+ // Return result
+ return $isOkay;
+}
+
// [EOF]
?>