if (!isset($GLOBALS[__METHOD__])) {
// Determine it
$GLOBALS[__METHOD__] = ((FrameworkBootstrap::getConfigurationInstance()->getConfigEntry('proxy_host') != '') && (FrameworkBootstrap::getConfigurationInstance()->getConfigEntry('proxy_port') > 0));
- } // END - if
+ }
// Return cache
return $GLOBALS[__METHOD__];
* @param $port Port number to connect to
* @return $response Response array
*/
- protected function setupProxyTunnel ($host, $port) {
+ protected function setupProxyTunnel (string $host, int $port) {
// Initialize array
- $response = array('', '', '');
+ $response = ['', '', ''];
// Do the connect
$respArray = $this->doConnectRequest($host, $port);
if (((strtolower($respArray[0]) !== 'http/1.0') && (strtolower($respArray[0]) !== 'http/1.1')) || ($respArray[1] != '200')) {
// Response code is not 200
return $response;
- } // END - if
+ }
// All fine!
return $respArray;
* @param $port Port number to connect to
* @return $responseArray Array with raw response
*/
- private function sendRawHttpRequest ($method, $host, $port, array $header = []) {
+ private function sendRawHttpRequest (string $method, string $host, int $port, array $header = []) {
// Minimum raw HTTP/1.1 request
$rawRequest = $method . ' ' . $host . ':' . $port . ' HTTP/1.1' . self::HTTP_EOL;
$rawRequest .= 'Host: ' . $host . ':' . $port . self::HTTP_EOL;
// Add it as well
$encodedAuth = base64_encode(FrameworkBootstrap::getConfigurationInstance()->getConfigEntry('proxy_username') . ':' . FrameworkBootstrap::getConfigurationInstance()->getConfigEntry('proxy_password'));
$rawRequest .= 'Proxy-Authorization: Basic ' . $encodedAuth . self::HTTP_EOL;
- } // END - if
+ }
// Add last new-line
$rawRequest .= self::HTTP_EOL;
- //* DEBUG: */ self::createDebugInstance(__CLASS__)->debugOutput('HTTP-CLIENT: rawRequest=' . $rawRequest);
+ //* DEBUG: */ self::createDebugInstance(__CLASS__, __LINE__)->debugOutput('HTTP-CLIENT: rawRequest=' . $rawRequest);
// Write request
fwrite($this->getSocketResource(), $rawRequest);
if (feof($this->getSocketResource())) {
// No response received
return $response;
- } // END - if
+ }
// Read the first line
$resp = trim(fgets($this->getSocketResource(), 10240));
* @param $port Port number to connect to
* @return $responseArray An array with the read response
*/
- public function doConnectRequest ($host, $port) {
+ public function doConnectRequest (string $host, int $port) {
// Prepare extra header(s)
- $headers = array(
+ $headers = [
'Proxy-Connection' => 'Keep-Alive'
- );
+ ];
// Prepare raw request
$responseArray = $this->sendRawHttpRequest('CONNECT', $host, $port, $headers);