From 58056b7e9859ad1c1b3630df81dae3b6cf6d6aa9 Mon Sep 17 00:00:00 2001 From: freek Date: Mon, 26 Nov 2018 22:18:00 +0100 Subject: [PATCH] add event --- src/Dashboard/EventSubscriber.php | 6 ++++++ src/Events/ConnectionEstablished.php | 17 +++++++++++++++++ src/LaravelEcho/WebSocket/PusherServer.php | 5 +++-- 3 files changed, 26 insertions(+), 2 deletions(-) create mode 100644 src/Events/ConnectionEstablished.php diff --git a/src/Dashboard/EventSubscriber.php b/src/Dashboard/EventSubscriber.php index 9063c45..b513253 100644 --- a/src/Dashboard/EventSubscriber.php +++ b/src/Dashboard/EventSubscriber.php @@ -5,6 +5,7 @@ namespace BeyondCode\LaravelWebSockets\Dashboard; use BeyondCode\LaravelWebSockets\Events\ApiMessageSent; use BeyondCode\LaravelWebSockets\Events\ChannelVacated; use BeyondCode\LaravelWebSockets\Events\ClientMessageSent; +use BeyondCode\LaravelWebSockets\Events\ConnectionEstablished; use BeyondCode\LaravelWebSockets\LaravelEcho\Pusher\Dashboard; use Illuminate\Events\Dispatcher; @@ -30,6 +31,11 @@ class EventSubscriber Dashboard::clientMessage($event->connection, $event->payload); } + public function onConnectionEstablished(ConnectionEstablished $event) + { + Dashboard::connection($event->connection); + } + public function subscribe(Dispatcher $events) { $events->listen(ApiMessageSent::class, static::class. '@onApiMessageSent'); diff --git a/src/Events/ConnectionEstablished.php b/src/Events/ConnectionEstablished.php new file mode 100644 index 0000000..296505b --- /dev/null +++ b/src/Events/ConnectionEstablished.php @@ -0,0 +1,17 @@ +connection = $connection; + } +} \ No newline at end of file diff --git a/src/LaravelEcho/WebSocket/PusherServer.php b/src/LaravelEcho/WebSocket/PusherServer.php index 5ea0806..9a3de9d 100644 --- a/src/LaravelEcho/WebSocket/PusherServer.php +++ b/src/LaravelEcho/WebSocket/PusherServer.php @@ -2,6 +2,7 @@ namespace BeyondCode\LaravelWebSockets\LaravelEcho\WebSocket; +use BeyondCode\LaravelWebSockets\Events\ConnectionEstablished; use BeyondCode\LaravelWebSockets\LaravelEcho\Pusher\Dashboard; use BeyondCode\LaravelWebSockets\QueryParameters; use Exception; @@ -66,8 +67,6 @@ class PusherServer extends WebSocketController protected function establishConnection(ConnectionInterface $connection) { - Dashboard::connection($connection); - $connection->send(json_encode([ 'event' => 'pusher:connection_established', 'data' => json_encode([ @@ -75,6 +74,8 @@ class PusherServer extends WebSocketController 'activity_timeout' => 60, ]) ])); + + event(new ConnectionEstablished($connection)); } protected function generateSocketId(ConnectionInterface $connection)