diff --git a/HttpServer/Events/OnPacket.php b/HttpServer/Events/OnPacket.php index ba4f637f..c5f8117a 100644 --- a/HttpServer/Events/OnPacket.php +++ b/HttpServer/Events/OnPacket.php @@ -44,7 +44,11 @@ class OnPacket extends Callback if (($node = $router->find_path($request)) === null) { return $server->sendto($host, $port, Json::encode(['state' => 404])); } - return $server->sendto($host, $port, $node->dispatch()); + + $dispatch = $node->dispatch(); + if (!is_string($dispatch)) $dispatch = Json::encode($dispatch); + + return $server->sendto($host, $port, $dispatch); } catch (\Throwable $exception) { $response = Json::encode(['state' => 500, 'message' => $exception->getMessage()]); diff --git a/HttpServer/Events/OnReceive.php b/HttpServer/Events/OnReceive.php index fa1c60a9..4a37a572 100644 --- a/HttpServer/Events/OnReceive.php +++ b/HttpServer/Events/OnReceive.php @@ -42,7 +42,11 @@ class OnReceive extends Callback if (($node = $router->find_path($request)) === null) { return $server->send($fd, Json::encode(['state' => 404])); } - return $server->send($fd, $node->dispatch()); + + $dispatch = $node->dispatch(); + if (!is_string($dispatch)) $dispatch = Json::encode($dispatch); + + return $server->send($fd, $dispatch); } catch (\Throwable $exception) { return $server->send($fd, Json::encode(['state' => 500, 'message' => $exception->getMessage()])); } finally {