getRouter(); if (($node = $router->find_path($request)) === null) { return $server->sendto($host, $port, Json::encode(['state' => 404])); } $dispatch = $node->dispatch(); if (!is_string($dispatch)) $dispatch = Json::encode($dispatch); if (empty($dispatch)) { return true; } return $server->sendto($host, $port, $dispatch); } catch (\Throwable $exception) { $this->addError($exception, 'packet'); $response = Json::encode(['state' => 500, 'message' => $exception->getMessage()]); return $server->sendto($clientInfo['address'], $clientInfo['port'], $response); } finally { fire(Event::SYSTEM_RESOURCE_RELEASES); logger()->insert(); } } }