prefixes[$uri] = $curie; } public function onOpen(Connection $conn) { $conn->WAMP = new \StdClass; $conn->WAMP->prefixes = array(); $conn->WAMP->subscriptions = array(); return $this->_app->onOpen($conn); } /** * @{inherit} * @throws Exception * @throws JSONException */ public function onMessage(Connection $from, $msg) { if (null === ($json = @json_decode($msg, true))) { throw new JSONException; } switch ($json[0]) { case 1: return $this->addPrefix($conn, $json[2], $json[1]); break; case 2: return $this->_app->onCall($from, $json[1], $json[2]); break; case 5: return $this->_app->onSubscribe($from, $json[1]); break; case 6: return $this->_app->onUnSubscribe($from, $json[1]); break; case 7: return $this->_app->onPublish($from, $json[1], $json[2]); break; default: throw new Exception('Invalid message type'); } } public function __construct(ServerInterface $app) { $this->_app = $app; } public function onClose(Connection $conn) { return $this->_app->onClose($conn); } public function onError(Connection $conn, \Exception $e) { return $this->_app->onError($conn, $e); } }