socket_set_block($server_socket); socket_set_option($server_socket, SOL_SOCKET, SO_LINGER, array('l_onoff' => 1, 'l_linger' => 0)); $droid->notify("Running", "Server is up and running ...."); $droid->view("http://localhost:{$port}/start", "text/html"); $running = true; do { if (($socket = socket_accept($server_socket)) < 0) { echo "socket_accept() failed \r\n"; break; } $request = new Request(); $request->setSocket($socket); $request->getBuffer(); $request->parseBuffer(); $response = new Response(); $response->setRequest($request); if (class_exists($request->getUri())) { $handler_name = $request->getUri(); $handler = new $handler_name(); $response->setHandler($handler); } else { // TODO: 404 echo "cannot find class " . $request->getUri(); } $response->sendData(); unset($response); } while ($running); socket_shutdown($server_socket); socket_close($server_socket); try { $droid->exit();
/** * Creates a response for the request. * @return Response the response object */ protected function createResponse() { $response = new Response(); $response->setRequest($this); return $response; }