Exemplo n.º 1
0
 /**
  * {@inheritdoc}
  */
 public function start(ServerContextInterface $context, RequestHandlerInterface $requestHandler)
 {
     $this->server = new \swoole_http_server($context->getListenAddress(), $context->getListenPort(), \SWOOLE_BASE);
     if (null !== $this->serverOptions) {
         $this->server->set($this->serverOptions->getOptions());
     }
     $this->server->on('request', $this->createRequestHandler($requestHandler));
     $this->server->start();
 }
Exemplo n.º 2
0
 public function __construct()
 {
     // 创建swoole_http_server对象
     $http = new swoole_http_server("0.0.0.0", 9501);
     // 设置参数
     $http->set(array('worker_num' => 16, 'daemonize' => false, 'max_request' => 10000, 'dispatch_mode' => 1));
     $http->setGlobal(HTTP_GLOBAL_ALL);
     // 绑定WorkerStart
     $http->on('WorkerStart', array($this, 'onWorkerStart'));
     // 绑定request
     $http->on('request', function ($request, $response) {
         ob_start();
         try {
             //注入uri
             $_GET['_url'] = $request->server['request_uri'];
             $application = new \Phalcon\Mvc\Application($this->di);
             echo $application->handle()->getContent();
         } catch (Exception $e) {
             echo $e->getMessage();
         }
         $result = ob_get_contents();
         ob_end_clean();
         $response->end($result);
     });
     $http->start();
 }
Exemplo n.º 3
0
 /**
  *
  * @param string $host        	
  * @param int $port        	
  * @param array $config        	
  */
 public function start()
 {
     $server = new \swoole_http_server($this->host, $this->port);
     $server->set($this->config);
     $server->on('Request', array($this, 'onRequest'));
     $server->start();
 }
Exemplo n.º 4
0
 public function __construct()
 {
     $http = new swoole_http_server("0.0.0.0", 9501);
     $http->set(array('worker_num' => 16, 'daemonize' => true, 'max_request' => 10000, 'dispatch_mode' => 1));
     $http->on('Request', array($this, 'onRequest'));
     $http->start();
 }
Exemplo n.º 5
0
 public function start($host, $port)
 {
     $controller = $this->controller;
     $http = new \swoole_http_server($host, $port, SWOOLE_BASE);
     $http->on('request', array($this, 'onRequest'));
     $http->set(['worker_num' => 2]);
     $http->start();
 }
Exemplo n.º 6
0
 public function __construct()
 {
     $http = new swoole_http_server("0.0.0.0", 8059);
     $http->set(array('worker_num' => 1, 'daemonize' => false, 'max_request' => 5000, 'user' => 'apache', 'group' => 'apache'));
     $http->on('Start', array($this, 'onStart'));
     $http->on('WorkerStart', array($this, 'onWorkerStart'));
     $http->on('Request', array($this, 'onRequest'));
     $http->start();
 }
Exemplo n.º 7
0
 public function __construct()
 {
     $http = new swoole_http_server("0.0.0.0", 9501);
     $http->set(array('worker_num' => 16, 'daemonize' => true, 'max_request' => 10000, 'dispatch_mode' => 1));
     define('APPLICATION_PATH', dirname(dirname(__DIR__)) . "/application");
     $this->application = new Yaf_Application(dirname(APPLICATION_PATH) . "/conf/application.ini");
     $this->application->bootstrap();
     $http->on('Request', array($this, 'onRequest'));
     $http->start();
 }
Exemplo n.º 8
0
 /**
  * run server
  */
 public function run()
 {
     $this->app['Swoole'] = $this->server;
     echo "server started on http://{$this->app['Config']['server.hostname']}:{$this->app['Config']['server.port']}" . PHP_EOL;
     echo swoole_version() . PHP_EOL;
     /**
      * start swoole http server
      */
     $this->server->start();
 }
Exemplo n.º 9
0
 /**
  * 初始化
  */
 private function __construct($ip, $port)
 {
     register_shutdown_function(array($this, 'handleFatal'));
     $http = new \swoole_http_server($ip, $port);
     $http->set(\Config\Server::getWebServerConfig());
     $http->on('WorkerStart', array($this, 'onWorkerStart'));
     $http->on('request', array($this, 'onRequest'));
     $http->on('start', array($this, 'onStart'));
     $http->start();
 }
Exemplo n.º 10
0
 /**
  * 初始化
  */
 private function __construct()
 {
     register_shutdown_function(array($this, 'handleFatal'));
     $http = new swoole_http_server("0.0.0.0", 9501);
     $http->set(array('worker_num' => 12, 'daemonize' => false, 'max_request' => 128, 'dispatch_mode' => 1, 'log_file' => '/home/bweb/logs/swoole.log', 'open_tcp_nodelay' => true));
     $http->on('WorkerStart', array($this, 'onWorkerStart'));
     $http->on('request', array($this, 'onRequest'));
     $http->on('start', array($this, 'onStart'));
     self::getYii();
     $http->start();
 }
Exemplo n.º 11
0
 /**
  * 初始化
  */
 private function __construct()
 {
     define('CISWOOLE', TRUE);
     register_shutdown_function(array($this, 'handleFatal'));
     $http = new swoole_http_server("0.0.0.0", 9501);
     $http->set(array('worker_num' => 8, 'daemonize' => false, 'max_request' => 10000, 'dispatch_mode' => 1));
     $http->on('WorkerStart', array($this, 'onWorkerStart'));
     $http->on('request', array($this, 'onRequest'));
     $http->on('start', array($this, 'onStart'));
     $http->start();
 }
 protected function execute(InputInterface $input, OutputInterface $output)
 {
     $kernel = $this->getContainer()->get('kernel');
     $http = new \swoole_http_server($input->getOption('host'), $input->getOption('port'));
     $http->on('request', function ($req, $res) use($kernel, $http) {
         $symfonyRequest = Request::createSymfonyRequest($req);
         $symfonyResponse = $kernel->handle($symfonyRequest);
         Response::send($res, $symfonyResponse);
         $kernel->terminate($symfonyRequest, $symfonyResponse);
     });
     $http->start();
 }
Exemplo n.º 13
0
 public function __construct()
 {
     // 创建swoole_http_server对象
     $http = new swoole_http_server("0.0.0.0", 9502);
     // 设置参数
     $http->set(array('worker_num' => 16, 'daemonize' => false, 'max_request' => 100000, 'dispatch_mode' => 1));
     $http->setGlobal(HTTP_GLOBAL_ALL);
     // 绑定WorkerStart
     $http->on('WorkerStart', array($this, 'onWorkerStart'));
     // 绑定request
     $http->on('request', array($this, 'onRequest'));
     //开启服务器
     $http->start();
 }
Exemplo n.º 14
0
 public function __construct()
 {
     $http = new swoole_http_server("0.0.0.0", 9501);
     $http->set(array('worker_num' => 50, 'daemonize' => true, 'max_request' => 10000, 'dispatch_mode' => 16));
     $http->setGlobal(HTTP_GLOBAL_ALL);
     $http->on('Start', function () {
         if (function_exists('cli_set_process_title')) {
             cli_set_process_title('app_server');
         } else {
             if (function_exists('swoole_set_process_name')) {
                 swoole_set_process_name('app_server');
             }
         }
     });
     $http->on('Request', array($this, 'onRequest'));
     $http->start();
 }
Exemplo n.º 15
0
 public function __construct()
 {
     $http = new swoole_http_server("0.0.0.0", 9501);
     $http->set(array('worker_num' => 8, 'daemonize' => false, 'max_request' => 1000, 'dispatch_mode' => 1));
     $http->on('WorkerStart', array($this, 'onWorkerStart'));
     $http->on('request', function ($request, $response) {
         if (isset($request->server)) {
             HttpServer::$server = $request->server;
             foreach ($request->server as $key => $value) {
                 $_SERVER[strtoupper($key)] = $value;
             }
         }
         if (isset($request->header)) {
             HttpServer::$header = $request->header;
         }
         if (isset($request->get)) {
             HttpServer::$get = $request->get;
             foreach ($request->get as $key => $value) {
                 $_GET[$key] = $value;
             }
         }
         if (isset($request->post)) {
             HttpServer::$post = $request->post;
             foreach ($request->post as $key => $value) {
                 $_POST[$key] = $value;
             }
         }
         if (isset($request->request_uri)) {
             $_SERVER['REQUEST_URI'] = $request->request_uri;
         }
         ob_start();
         //实例化ycf对象
         try {
             Ycf\Core\YcfCore::run();
         } catch (Exception $e) {
             var_dump($e);
         }
         $result = ob_get_contents();
         ob_end_clean();
         $response->end($result);
         unset($result);
     });
     $http->start();
 }
Exemplo n.º 16
0
 public function __construct()
 {
     $http = new swoole_http_server("127.0.0.1", 9501);
     $http->set(array('worker_num' => 16, 'daemonize' => true, 'max_request' => 10000, 'dispatch_mode' => 1));
     $http->on('WorkerStart', array($this, 'onWorkerStart'));
     $http->on('request', function ($request, $response) {
         if (isset($request->server)) {
             HttpServer::$server = $request->server;
         } else {
             HttpServer::$server = [];
         }
         if (isset($request->header)) {
             HttpServer::$header = $request->header;
         } else {
             HttpServer::$header = [];
         }
         if (isset($request->get)) {
             HttpServer::$get = $request->get;
         } else {
             HttpServer::$get = [];
         }
         if (isset($request->post)) {
             HttpServer::$post = $request->post;
         } else {
             HttpServer::$post = [];
         }
         // TODO handle img
         ob_start();
         try {
             $yaf_request = new Yaf\Request_Http(HttpServer::$server['request_uri']);
             $this->application->getDispatcher()->dispatch($yaf_request);
             // unset(Yaf_Application::app());
         } catch (Yaf_Exception $e) {
             var_dump($e);
         }
         $result = ob_get_contents();
         ob_end_clean();
         // add Header
         // add cookies
         // set status
         $response->end($result);
     });
     $http->start();
 }
Exemplo n.º 17
0
 public function __construct()
 {
     $http = new swoole_http_server("0.0.0.0", 9501);
     $http->set(array('worker_num' => 10, 'daemonize' => false, 'max_request' => 10000, 'dispatch_mode' => 1));
     $http->on('WorkerStart', array($this, 'onWorkerStart'));
     $http->on('request', function ($request, $response) {
         if (isset($request->server)) {
             HttpServer::$server = $request->server;
             foreach ($request->server as $key => $value) {
                 $_SERVER[strtoupper($key)] = $value;
             }
         }
         if (isset($request->header)) {
             HttpServer::$header = $request->header;
         }
         if (isset($request->get)) {
             HttpServer::$get = $request->get;
             foreach ($request->get as $key => $value) {
                 $_GET[$key] = $value;
             }
         }
         if (isset($request->post)) {
             HttpServer::$post = $request->post;
             foreach ($request->post as $key => $value) {
                 $_POST[$key] = $value;
             }
         }
         ob_start();
         //实例化yii对象
         try {
             $this->application = Yii::createWebApplication(FRAMEWORK_CONFIG);
             $this->application->run();
         } catch (Exception $e) {
             var_dump($e);
         }
         $result = ob_get_contents();
         ob_end_clean();
         $response->end($result);
         unset($result);
         unset($this->application);
     });
     $http->start();
 }
Exemplo n.º 18
0
 public function __construct()
 {
     $http = new swoole_http_server("0.0.0.0", 9501);
     $http->set(array('worker_num' => 16, 'daemonize' => false, 'max_request' => 10000, 'dispatch_mode' => 1));
     $http->on('WorkerStart', array($this, 'onWorkerStart'));
     $http->on('request', function ($request, $response) {
         if (isset($request->server)) {
             SwooleHttpServer::$server = $request->server;
             foreach ($request->server as $key => $value) {
                 $_SERVER[strtoupper($key)] = $value;
             }
         }
         if (isset($request->header)) {
             SwooleHttpServer::$header = $request->header;
         }
         if (isset($request->get)) {
             SwooleHttpServer::$get = $request->get;
             foreach ($request->get as $key => $value) {
                 $_GET[$key] = $value;
             }
         }
         if (isset($request->post)) {
             SwooleHttpServer::$post = $request->post;
             foreach ($request->post as $key => $value) {
                 $_POST[$key] = $value;
             }
         }
         /*
         			$uri = explode( "?", $_SERVER['REQUEST_URI'] );
         			$_SERVER["PATH_INFO"] = $uri[0];
         			if (isset($uri[1])) {
         				$_SERVER['QUERY_STRING'] = $uri[1];
         			}*/
         $_SERVER['argv'][1] = $_SERVER["PATH_INFO"];
         ob_start();
         require_once '../../../ThinkPHP/ThinkPHP.php';
         $result = ob_get_contents();
         ob_end_clean();
         $response->end($result);
     });
     $http->start();
 }
Exemplo n.º 19
0
 public function run()
 {
     if (isset($this->on['workerstart'])) {
         $this->workerstart = $this->on['workerstart'];
     }
     $serv = new swoole_http_server(SWOOLE_HOST, SWOOLE_PORT);
     $serv->set($this->set);
     $this->on['start'] = array($this, 'onStart');
     //避免onStart被重写
     $this->on['request'] = array($this, 'onRequest');
     //避免Request被重写
     $this->on['shutdown'] = array($this, 'onShutdown');
     //避免Shutdown被重写
     $this->on['workerstart'] = array($this, 'onWorkerStart');
     //避免Workerstart被重写
     foreach ($this->on as $k => $v) {
         $serv->on($k, $v);
     }
     $serv->start();
 }
Exemplo n.º 20
0
 public function __construct()
 {
     $http = new swoole_http_server('0.0.0.0', 9502);
     $http->set(array('worker_num' => 4, 'daemonize' => 0, 'dispatch_mode' => 1));
     $http->on('WorkerStart', array($this, 'onWorkerStart'));
     $http->on('request', function ($request, $response) {
         if (isset($request->server)) {
             HttpServer::$server = $request->server;
         } else {
             HttpServer::$server = [];
         }
         if (isset($request->header)) {
             HttpServer::$header = $request->header;
         } else {
             HttpServer::$header = [];
         }
         if (isset($request->get)) {
             HttpServer::$get = $request->get;
         } else {
             HttpServer::$get = [];
         }
         if (isset($request->post)) {
             HttpServer::$post = $request->post;
         } else {
             HttpServer::$post = [];
         }
         ob_start();
         try {
             $yaf_request = new Yaf_Request_Http(HttpServer::$server['request_uri']);
             $this->application->getDispatcher()->dispatch($yaf_request);
         } catch (Yaf_Exception $e) {
             var_dump($e);
         }
         $result = ob_get_contents();
         ob_end_clean();
         $response->end($result);
     });
     $http->start();
 }
Exemplo n.º 21
0
 public function __construct()
 {
     $http = new swoole_http_server("0.0.0.0", 9501);
     $http->set(array('worker_num' => 16, 'daemonize' => 0, 'max_request' => 10000, 'dispatch_mode' => 1));
     $http->on('WorkerStart', array($this, 'onWorkerStart'));
     $http->on('request', function ($request, $response) {
         if (isset($request->server)) {
             foreach ($request->server as $key => $value) {
                 unset($_SERVER[strtoupper($key)]);
                 $_SERVER[strtoupper($key)] = $value;
             }
         }
         if (isset($request->header)) {
             foreach ($request->header as $key => $value) {
                 unset($_SERVER[strtoupper($key)]);
                 $_SERVER[strtoupper($key)] = $value;
             }
         }
         unset($_GET);
         if (isset($request->get)) {
             foreach ($request->get as $key => $value) {
                 $_GET[$key] = $value;
             }
         }
         unset($_POST);
         if (isset($request->post)) {
             foreach ($request->post as $key => $value) {
                 $_POST[$key] = $value;
             }
         }
         unset($_COOKIE);
         if (isset($request->cookie)) {
             foreach ($request->cookie as $key => $value) {
                 $_COOKIE[$key] = $value;
             }
         }
         unset($_FILES);
         if (isset($request->files)) {
             foreach ($request->files as $key => $value) {
                 $_FILES[$key] = $value;
             }
         }
         /*
         			$uri = explode( "?", $_SERVER['REQUEST_URI'] );
         			$_SERVER["PATH_INFO"] = $uri[0];
         			if( isset( $uri[1] ) ) {
         				$_SERVER['QUERY_STRING'] = $uri[1];
         			}*/
         $_SERVER["PATH_INFO"] = explode('/', $_SERVER["PATH_INFO"], 3)[2];
         $_SERVER['argv'][1] = $_SERVER["PATH_INFO"];
         ob_start();
         // 记录加载文件时间
         G('loadTime');
         // 运行应用
         \Think\App::run();
         $result = ob_get_contents();
         ob_end_clean();
         $response->end($result);
     });
     $http->start();
 }
Exemplo n.º 22
0
            require "{$classpath}";
            return;
        }
    }));
});
$serv->on('Request', function ($request, $response) {
    $path_info = explode('/', $request->server['path_info']);
    if (isset($path_info[1]) && !empty($path_info[1])) {
        // ctrl
        $ctrl = 'ctrl\\' . $path_info[1];
    } else {
        $ctrl = 'ctrl\\Index';
    }
    if (isset($path_info[2])) {
        // method
        $action = $path_info[2];
    } else {
        $action = 'index';
    }
    $result = "Ctrl not found";
    if (class_exists($ctrl)) {
        $class = new $ctrl();
        $result = "Action not found";
        if (method_exists($class, $action)) {
            $result = $class->{$action}($request);
        }
    }
    $response->end($result);
});
$serv->start();
Exemplo n.º 23
0
 function runHttpServer($host = '0.0.0.0', $port = 9501, $config = array())
 {
     define('SWOOLE_SERVER', true);
     $this->ext_http_server = $this->http = new Swoole\Http\ExtServer();
     $server = new swoole_http_server($host, $port);
     $server->set($config);
     if (!empty($config['document_root'])) {
         $this->ext_http_server->document_root = trim($config['document_root']);
     }
     $server->on('Request', array($this->http, 'onRequest'));
     $server->start();
 }
Exemplo n.º 24
0
<?php

/**
 * HTTP Server.
 */
$httpServer = new swoole_http_server('127.0.0.1', 80);
$htmlFile = file_get_contents('http.html');
$httpServer->on('request', function ($request, $response) use($htmlFile) {
    $response->header('Content-Type', 'text/html; charset=utf-8');
    $response->end($htmlFile);
});
$httpServer->start();
Exemplo n.º 25
0
Arquivo: Server.php Projeto: vimac/zan
 public function start()
 {
     $this->server->start();
 }
Exemplo n.º 26
0
 public function actionRun($hostinfo = '0.0.0.0:9580')
 {
     $this->parseHostPort($hostinfo);
     $http = new \swoole_http_server($this->host, $this->port);
     //初始化进程数 ,关联getTaskId函数的使用
     $task_num = 0;
     foreach (self::$q_config as $key => $val) {
         self::$event_base[$key] = $task_num;
         self::$cnt[$key] = 0;
         $task_num += $val;
     }
     //初始化配置
     $this->config['task_worker_num'] = $task_num;
     $http->set($this->config);
     //接受http请求参数
     $http->on('request', function ($request, $response) use($http) {
         if (!isset($request->get['opt'])) {
             $response->end('HTTP_OPT_ERROR:missing opt');
             return;
         }
         $opt = $request->get['opt'];
         if ($opt == 'put') {
             //获取data数据
             if (isset($request->get['data'])) {
                 $data = $request->get['data'];
             } elseif (isset($request->post['data'])) {
                 $data = $request->post['data'];
             } else {
                 $response->end('HTTP_PARAM_ERROR:missing data');
                 return;
             }
             $data = json_decode($data, true);
             if (json_last_error() != JSON_ERROR_NONE) {
                 $response->end(json_last_error_msg());
                 return;
             }
             if (!isset($data['class']) || !isset(self::$q_config[$data['class']])) {
                 $type = 'Common';
             } else {
                 $type = $data['class'];
             }
             $taskId = $this->getTaskId($type);
             if (!isset($data['task'])) {
                 $response->end('HTTP_PARAM_ERROR:missing task');
                 return;
             }
             //分配给task的worker
             $http->task($data, $taskId);
             $response->end("HTTP_PUT_OK");
         } elseif ($opt == 'reload') {
             $http->reload();
             $response->end('reset now!');
             return;
         } elseif ($opt == 'shutdown') {
             $http->shutdown();
             $response->end('shutdown now!');
             return;
         } else {
             $response->end("HTTP_OPT_ERROR:nothing to do");
             return;
         }
     });
     //任务调度
     $http->on('Task', function ($http, $taskId, $fromId, $data) {
         $rs = $this->doJob($data);
         return $rs;
     });
     //任务完成的响应事件
     $http->on('Finish', function ($http, $taskId, $data) {
         echo "finish task,the result:" . $data . "\n";
     });
     $http->start();
 }
Exemplo n.º 27
0
<?php

/**
 * Created by PhpStorm.
 * User: janhuang
 * Date: 15/12/8
 * Time: 下午12:00
 * Github: https://www.github.com/janhuang
 * Coding: https://www.coding.net/janhuang
 * SegmentFault: http://segmentfault.com/u/janhuang
 * Blog: http://segmentfault.com/blog/janhuang
 * Gmail: bboyjanhuang@gmail.com
 * WebSite: http://www.janhuang.me
 */
include __DIR__ . '/../vendor/autoload.php';
$server = new \swoole_http_server('0.0.0.0', 9600);
$server->on('request', function ($request, $response) {
    $document_root = __DIR__;
    $script_name = 'swoole.php';
    print_r($request);
    $request = \FastD\Http\SwooleRequest::createRequestHandle($request, ['document_root' => $document_root, 'script_name' => $script_name]);
    print_r($request);
    $response->write('base : ' . $request->getBaseUrl() . '<br />');
    $response->write('request_uri: ' . $request->getRequestUri() . '<br />');
    $response->write('path_info: ' . $request->getPathInfo());
    $response->end('');
});
$server->start();
Exemplo n.º 28
0
 public function run($ip = "0.0.0.0", $port = 6666)
 {
     $webServer = new \swoole_http_server($ip, $port);
     $webServer->set(\Config\Server::getWebServerConfig());
     $webServer->on('WorkerStart', array($this, 'onWorkerStart'));
     $webServer->on('request', array($this, 'onRequest'));
     $webServer->on('start', array($this, 'onStart'));
     $webServer->on('ManagerStart', function ($serv) {
         global $argv;
         swoole_set_process_name("php {$argv[0]}: manager");
     });
     $webServer->start();
 }
Exemplo n.º 29
0
    }
    if (empty($data['push_data']['commits'])) {
        //没有提交者
        mylog('no commit');
        return;
    }
    //项目名称
    $project = $data['push_data']['repository']['name'];
    //分支名称
    $ref = $data['push_data']['ref'];
    mylog("{$project}: {$ref} push");
    global $config;
    if (empty($config[$project][$ref])) {
        mylog("no {$project} {$ref}");
        return;
    }
    $client = new \swoole_client(SWOOLE_SOCK_UDP);
    foreach ($config[$project][$ref] as $item) {
        $client->connect($item['host'], $item['port']);
        $client->send(json_encode([$project, $ref, $item['path']]));
    }
});
$http->on('workerStart', function ($serv, $workerId) {
    global $config;
    if (function_exists('opcache_reset')) {
        opcache_reset();
    }
    $config = (include __DIR__ . DIRECTORY_SEPARATOR . 'config.php');
});
$http->start();
Exemplo n.º 30
0
 public function __construct()
 {
     $http = new swoole_http_server("0.0.0.0", 8080);
     $http->set(array('worker_num' => 16, 'max_conn' => 10000, 'max_request' => 5000, 'dispatch_mode' => 1, 'daemonize' => 1, 'log_file' => '/var/log/swoole.log'));
     $http->on('WorkerStart', array($this, 'onWorkerStart'));
     $http->on('request', function ($request, $response) {
         if (isset($request->server)) {
             HttpServer::$server = $request->server;
         } else {
             HttpServer::$server = [];
         }
         if (isset($request->header)) {
             HttpServer::$header = $request->header;
         } else {
             HttpServer::$header = [];
         }
         if (isset($request->get)) {
             HttpServer::$get = $request->get;
         } else {
             HttpServer::$get = [];
         }
         if (isset($request->post)) {
             HttpServer::$post = $request->post;
         } else {
             HttpServer::$post = [];
         }
         // TODO handle img
         ob_start();
         try {
             //var_dump(HttpServer::$server['request_uri']);
             $_SERVER['REQUEST_URI'] = HttpServer::$server['request_uri'];
             //$_SERVER['REMOTE_ADDR'] = HttpServer::$server['request_uri'];
             $yaf_request = new Yaf_Request_Http(HttpServer::$server['request_uri']);
             $this->application->getDispatcher()->dispatch($yaf_request);
             // unset(Yaf_Application::app());
         } catch (\Exception $e) {
             var_dump($e);
         }
         $result = ob_get_contents();
         ob_end_clean();
         // add Header
         $response->header('Content-Type', 'no-cache, must-revalidate');
         $response->header('Content-Type', 'application/json');
         //$response->header('Content-Encoding', 'gzip');
         $response->header('Server', 'verycloud');
         // add cookies
         // set status
         $response->end($result);
     });
     $http->on('WorkerStop', array($this, 'onWorkerStop'));
     $http->start();
 }