public function onRequest()
{
$http = self::$serverInstance;
$kernel = $this->kernel;
$http->onMessage = function ($connection, $data) use($kernel) {
// $http->on('request', function ($request, $response) use($kernel) {
// if ($request->server['request_uri'] !== '/favicon.ico') {
$l_request = new Symfony\Component\HttpFoundation\Request($data['get'], $data['post'], [], $data['cookie'], $data['files'], $data['server']);
if (0 === strpos($l_request->headers->get('CONTENT_TYPE'), 'application/x-www-form-urlencoded') && in_array(strtoupper($l_request->server->get('REQUEST_METHOD', 'GET')), array('PUT', 'DELETE', 'PATCH'))) {
parse_str($l_request->getContent(), $data);
$l_request->request = new Symfony\Component\HttpFoundation\ParameterBag($data);
}
Illuminate\Http\Request::enableHttpMethodParameterOverride();
$l_request = Illuminate\Http\Request::createFromBase($l_request);
$l_response = $kernel->handle($l_request);
$result = $l_response->getContent();
foreach ($l_response->headers->allPreserveCase() as $name => $values) {
Http::header($name . ':' . implode(';', $values));
}
// $l_response->send();
foreach ($l_response->headers->getCookies() as $cookie) {
Http::setcookie($cookie->getName(), $cookie->getValue(), $cookie->getExpiresTime(), $cookie->getPath(), $cookie->getDomain(), $cookie->isSecure(), $cookie->isHttpOnly());
}
$kernel->terminate($l_request, $l_response);
$connection->send($result);
// }
};
}