Ejemplo n.º 1
0
 /**
  *
  * @return Gpf_Net_Server_Http_Request
  */
 private function readRequestHeader()
 {
     $this->debug("Trying to read HTTP request's header");
     try {
         $header = $this->driver->read(Gpf_Net_Server_Http_Message::BODY_SEPARATOR, $this->requestHeaderMaxBuffer);
         $this->debug("HTTP request's header read OK");
     } catch (Gpf_Net_Server_SocketException $e) {
         $this->driver->closeConnection();
         throw new Gpf_Net_Server_SocketException("Header: " . $e->getMessage());
     }
     $header = substr($header, 0, -strlen(Gpf_Net_Server_Http_Message::BODY_SEPARATOR));
     $request = Gpf_Net_Server_Http_Request::parseHeader($header);
     $this->debug('URL:' . $request->getUri());
     $this->checkRequestHeader($request);
     $request->setServerVars($this);
     return $request;
 }
Ejemplo n.º 2
0
 /**
  * shutdown server
  *
  */
 public function shutDown()
 {
     foreach ($this->clients as $socket) {
         $this->socket = $socket;
         $this->closeConnection();
     }
     parent::shutDown();
 }
Ejemplo n.º 3
0
 protected function checkRequiredExtensions()
 {
     parent::checkRequiredExtensions();
     if (!Gpf_Php::isFunctionEnabled('pcntl_fork')) {
         throw new Gpf_Exception('Needs pcntl extension to fork processes.');
     }
 }