Ejemplo n.º 1
0
 public function setUp()
 {
     $_SERVER['SCRIPT_NAME'] = '/index.php';
     $_SERVER['PHWOOLCON_PHALCON_VERSION'] = Version::getId();
     /* @var Di $di */
     $di = $this->di = Di::getDefault();
     Events::register($di);
     DiFix::register($di);
     Db::register($di);
     Cache::register($di);
     Log::register($di);
     Config::register($di);
     Counter::register($this->di);
     Aliases::register($di);
     I18n::register($di);
     Cookies::register($di);
     Session::register($di);
     Cache::flush();
     Config::clearCache();
     parent::setUp();
     $class = get_class($this);
     Log::debug("================== Running {$class}::{$this->getName()}() ... ==================");
     Timer::start();
 }
Ejemplo n.º 2
0
 public function onReceive(SwooleServer $server, $fd, $fromId, $data)
 {
     if ($this->debug) {
         $this->debugData = [];
         Timer::start();
     }
     $length = unpack('N', $data)[1];
     $data = unserialize(substr($data, -$length));
     $_REQUEST = $_GET = $_POST = isset($data['request']) ? $data['request'] : [];
     $_COOKIE = isset($data['cookies']) ? $data['cookies'] : [];
     $_FILES = isset($data['files']) ? $data['files'] : [];
     $_SERVER = isset($data['server']) ? $data['server'] : [];
     foreach ($this->environmentVariables as $k => $v) {
         $_SERVER[$k] = $v;
     }
     $this->reset();
     ob_start();
     $response = Router::dispatch();
     $extraContent = ob_get_clean();
     $headers = $this->parseResponseHeaders($response);
     $body = $response->getContent();
     $result = serialize(['headers' => $headers, 'body' => $body . $extraContent, 'meta' => $this->debug ? $this->getDebugInfo($server) : ['service' => 1]]);
     $server->send($fd, pack('N', $outputLength = strlen($result)), $fromId);
     if ($outputLength >= $this->config['buffer_output_size']) {
         foreach (str_split($result, $this->config['chunk_output_size']) as $chunk) {
             $server->send($fd, $chunk, $fromId);
         }
     } else {
         $server->send($fd, $result, $fromId);
     }
 }