connectionManager = $connectionManager; } public function onOpen(ConnectionInterface $conn) { // TODO: Implement onOpen() method. } public function onClose(ConnectionInterface $conn) { dump("close connection"); } public function onError(ConnectionInterface $conn, \Exception $e) { // TODO: Implement onError() method. } public function onMessage(ConnectionInterface $connection, $message) { $payload = json_decode($message); if (json_last_error() === JSON_ERROR_NONE) { $message = new ControlMessage($payload, $connection, $this->connectionManager); $message->respond(); } else { $message = new TunnelMessage(HttpRequestConnection::wrap($connection, $message), $this->connectionManager); $message->respond(); } } }