getHost() 공개 메소드

public getHost ( )
예제 #1
0
 /**
  * @param Gpf_Net_Http_Request $request
  * @return Gpf_Net_Http_Response
  */
 private function executeWithSocketOpen(Gpf_Net_Http_Request $request)
 {
     $scheme = $request->getScheme() == 'ssl' || $request->getScheme() == 'https' ? 'ssl://' : '';
     $proxySocket = @fsockopen($scheme . $request->getHost(), $request->getPort(), $errorNr, $errorMessage, self::CONNECTION_TIMEOUT);
     if ($proxySocket === false) {
         $gpfErrorMessage = $this->_sys('Could not connect to server: %s:%s, Failed with error: %s', $request->getHost(), $request->getPort(), $errorMessage);
         Gpf_Log::error($gpfErrorMessage);
         throw new Gpf_Exception($gpfErrorMessage);
     }
     $requestText = $request->toString();
     $result = @fwrite($proxySocket, $requestText);
     if ($result === false || $result != strlen($requestText)) {
         @fclose($proxySocket);
         $gpfErrorMessage = $this->_sys('Could not send request to server %s:%s', $request->getHost(), $request->getPort());
         Gpf_Log::error($gpfErrorMessage);
         throw new Gpf_Exception($gpfErrorMessage);
     }
     $result = '';
     while (false === @feof($proxySocket)) {
         try {
             if (false === ($data = @fread($proxySocket, 8192))) {
                 Gpf_Log::error($this->_sys('Could not read from proxy socket'));
                 throw new Gpf_Exception("could not read from proxy socket");
             }
             $result .= $data;
         } catch (Exception $e) {
             Gpf_Log::error($this->_sys('Proxy failed: %s', $e->getMessage()));
             @fclose($proxySocket);
             throw new Gpf_Exception($this->_('Proxy failed: %s', $e->getMessage()));
         }
     }
     @fclose($proxySocket);
     $response = new Gpf_Net_Http_Response();
     $response->setResponseText($result);
     return $response;
 }