laravel / reverb

Laravel Reverb provides a real-time WebSocket communication backend for Laravel applications.
https://reverb.laravel.com
MIT License
1.02k stars 71 forks source link

[1.x] Allow non-`Pusher` and `ClientEvent` messages #133

Closed rihardsgrislis closed 4 months ago

rihardsgrislis commented 4 months ago

Hey,

Love using Reverb so far! 🚀

I would like to use the websocket server to receive non-Laravel messages from other clients as well and handle the messages in my app. I have some IoT devices that allow for outbound websocket. The MessageReceived event is already implemented and I can just listen for it in the app. However it doesn't get executed because if the message doesn't contain the "event" key the server fails handling the message (Undefined array key "event") and sends 'event' => 'pusher:error' event to the client with message "Invalid message format".

We just need to check for the "event" key before using the Pusher or ClientEvent handler.