wip
This commit is contained in:
parent
c1303ff667
commit
606f09f444
|
|
@ -1,59 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace BeyondCode\LaravelWebSockets\Dashboard;
|
||||
|
||||
use BeyondCode\LaravelWebSockets\Events\ApiMessageSent;
|
||||
use BeyondCode\LaravelWebSockets\Events\ChannelOccupied;
|
||||
use BeyondCode\LaravelWebSockets\Events\ChannelVacated;
|
||||
use BeyondCode\LaravelWebSockets\Events\ClientMessageSent;
|
||||
use BeyondCode\LaravelWebSockets\Events\ConnectionEstablished;
|
||||
use BeyondCode\LaravelWebSockets\Events\SubscribedToChannel;
|
||||
use Illuminate\Events\Dispatcher;
|
||||
|
||||
class EventSubscriber
|
||||
{
|
||||
public function onApiMessageSent(ApiMessageSent $event)
|
||||
{
|
||||
DashboardLogger::apiMessage(
|
||||
$event->appId,
|
||||
$event->channeldId,
|
||||
$event->name,
|
||||
$event->data
|
||||
);
|
||||
}
|
||||
|
||||
public function onChannelOccupied(ChannelOccupied $event)
|
||||
{
|
||||
DashboardLogger::occupied($event->connection, $event->channelId);
|
||||
}
|
||||
|
||||
public function onChannelVacated(ChannelVacated $event)
|
||||
{
|
||||
DashboardLogger::vacated($event->connection, $event->channelId);
|
||||
}
|
||||
|
||||
public function onClientMessageSent(ClientMessageSent $event)
|
||||
{
|
||||
DashboardLogger::clientMessage($event->connection, $event->payload);
|
||||
}
|
||||
|
||||
public function onConnectionEstablished(ConnectionEstablished $event)
|
||||
{
|
||||
DashboardLogger::connection($event->connection);
|
||||
}
|
||||
|
||||
public function onSubscribedToChannel(SubscribedToChannel $event)
|
||||
{
|
||||
DashboardLogger::subscribed($event->connection, $event->channelId);
|
||||
}
|
||||
|
||||
public function subscribe(Dispatcher $events)
|
||||
{
|
||||
$events->listen(ApiMessageSent::class, static::class. '@onApiMessageSent');
|
||||
$events->listen(ChannelOccupied::class, static::class . '@onChannelOccupied');
|
||||
$events->listen(ChannelVacated::class, static::class . '@onChannelVacated');
|
||||
$events->listen(ClientMessageSent::class, static::class . '@onClientMessageSent');
|
||||
$events->listen(ConnectionEstablished::class, static::class . '@onConnectionEstablished');
|
||||
$events->listen(SubscribedToChannel::class, static::class . '@onSubscribedToChannel');
|
||||
}
|
||||
}
|
||||
|
|
@ -1,25 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace BeyondCode\LaravelWebSockets\Events;
|
||||
|
||||
use Ratchet\ConnectionInterface;
|
||||
use stdClass;
|
||||
|
||||
class ApiMessageSent
|
||||
{
|
||||
public $appId;
|
||||
public $channeldId;
|
||||
public $name;
|
||||
public $data;
|
||||
|
||||
public function __construct($appId, $channeldId, $name, $data)
|
||||
{
|
||||
$this->appId = $appId;
|
||||
|
||||
$this->channeldId = $channeldId;
|
||||
|
||||
$this->name = $name;
|
||||
|
||||
$this->data = $data;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace BeyondCode\LaravelWebSockets\Events;
|
||||
|
||||
use Ratchet\ConnectionInterface;
|
||||
|
||||
class ChannelOccupied
|
||||
{
|
||||
/** @var \Ratchet\ConnectionInterface */
|
||||
public $connection;
|
||||
|
||||
/** @var string */
|
||||
public $channelId;
|
||||
|
||||
public function __construct(ConnectionInterface $connection, string $channelId)
|
||||
{
|
||||
$this->connection = $connection;
|
||||
|
||||
$this->channelId = $channelId;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace BeyondCode\LaravelWebSockets\Events;
|
||||
|
||||
use Ratchet\ConnectionInterface;
|
||||
|
||||
class ChannelVacated
|
||||
{
|
||||
/** @var \Ratchet\ConnectionInterface */
|
||||
public $connection;
|
||||
|
||||
/** @var string */
|
||||
public $channelId;
|
||||
|
||||
public function __construct(ConnectionInterface $connection, string $channelId)
|
||||
{
|
||||
$this->connection = $connection;
|
||||
|
||||
$this->channelId = $channelId;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,22 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace BeyondCode\LaravelWebSockets\Events;
|
||||
|
||||
use Ratchet\ConnectionInterface;
|
||||
use stdClass;
|
||||
|
||||
class ClientMessageSent
|
||||
{
|
||||
/** @var \Ratchet\ConnectionInterface */
|
||||
public $connection;
|
||||
|
||||
/** @var string */
|
||||
public $payload;
|
||||
|
||||
public function __construct(ConnectionInterface $connection, stdClass $payload)
|
||||
{
|
||||
$this->connection = $connection;
|
||||
|
||||
$this->payload = $payload;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,17 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace BeyondCode\LaravelWebSockets\Events;
|
||||
|
||||
use Ratchet\ConnectionInterface;
|
||||
use stdClass;
|
||||
|
||||
class ConnectionEstablished
|
||||
{
|
||||
/** @var \Ratchet\ConnectionInterface */
|
||||
public $connection;
|
||||
|
||||
public function __construct(ConnectionInterface $connection)
|
||||
{
|
||||
$this->connection = $connection;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace BeyondCode\LaravelWebSockets\Events;
|
||||
|
||||
use Ratchet\ConnectionInterface;
|
||||
|
||||
class ExceptionThrown
|
||||
{
|
||||
/** @var \Ratchet\ConnectionInterface */
|
||||
public $connection;
|
||||
|
||||
/** @var \Exception */
|
||||
public $exception;
|
||||
|
||||
public function __construct(ConnectionInterface $connection, \Exception $exception)
|
||||
{
|
||||
$this->connection = $connection;
|
||||
|
||||
$this->exception = $exception;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,21 +0,0 @@
|
|||
<?php
|
||||
|
||||
namespace BeyondCode\LaravelWebSockets\Events;
|
||||
|
||||
use Ratchet\ConnectionInterface;
|
||||
|
||||
class SubscribedToChannel
|
||||
{
|
||||
/** @var \Ratchet\ConnectionInterface */
|
||||
public $connection;
|
||||
|
||||
/** @var string */
|
||||
public $channelId;
|
||||
|
||||
public function __construct(ConnectionInterface $connection, string $channelId)
|
||||
{
|
||||
$this->connection = $connection;
|
||||
|
||||
$this->channelId = $channelId;
|
||||
}
|
||||
}
|
||||
|
|
@ -3,6 +3,7 @@
|
|||
namespace BeyondCode\LaravelWebSockets\HttpApi\Controllers;
|
||||
|
||||
use BeyondCode\LaravelWebSockets\ClientProviders\Client;
|
||||
use BeyondCode\LaravelWebSockets\Dashboard\DashboardLogger;
|
||||
use BeyondCode\LaravelWebSockets\Events\ExceptionThrown;
|
||||
use BeyondCode\LaravelWebSockets\QueryParameters;
|
||||
use Exception;
|
||||
|
|
@ -59,8 +60,6 @@ abstract class Controller implements HttpServerInterface
|
|||
|
||||
function onError(ConnectionInterface $connection, Exception $exception)
|
||||
{
|
||||
event(new ExceptionThrown($connection, $exception));
|
||||
|
||||
if (! $exception instanceof HttpException) {
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,12 +21,12 @@ class TriggerEventController extends Controller
|
|||
'data' => $request->json()->get('data'),
|
||||
], $request->json()->get('socket_id'));
|
||||
|
||||
event(new ApiMessageSent(
|
||||
DashboardLogger::apiMessage(
|
||||
$request->appId,
|
||||
$channelId,
|
||||
$request->json()->get('name'),
|
||||
$request->json()->get('data')
|
||||
));
|
||||
);
|
||||
}
|
||||
|
||||
return $request->json()->all();
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
namespace BeyondCode\LaravelWebSockets\WebSockets\Channels;
|
||||
|
||||
use BeyondCode\LaravelWebSockets\Dashboard\DashboardLogger;
|
||||
use BeyondCode\LaravelWebSockets\Events\ChannelOccupied;
|
||||
use BeyondCode\LaravelWebSockets\Events\ChannelVacated;
|
||||
use BeyondCode\LaravelWebSockets\Events\SubscribedToChannel;
|
||||
|
|
@ -64,7 +65,7 @@ class Channel
|
|||
unset($this->subscriptions[$connection->socketId]);
|
||||
|
||||
if (! $this->hasConnections()) {
|
||||
event(new ChannelVacated($connection, $this->channelId));
|
||||
DashboardLogger::vacated($connection, $this->channelId);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -75,10 +76,10 @@ class Channel
|
|||
$this->subscriptions[$connection->socketId] = $connection;
|
||||
|
||||
if (! $hadConnectionsPreviously) {
|
||||
event(new ChannelOccupied($connection, $this->channelId));
|
||||
DashboardLogger::occupied($connection, $this->channelId);
|
||||
}
|
||||
|
||||
event(new SubscribedToChannel($connection, $this->channelId));
|
||||
DashboardLogger::subscribed($connection, $this->channelId);
|
||||
}
|
||||
|
||||
public function broadcast($payload)
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
namespace BeyondCode\LaravelWebSockets\WebSockets\Messages;
|
||||
|
||||
use BeyondCode\LaravelWebSockets\Dashboard\DashboardLogger;
|
||||
use BeyondCode\LaravelWebSockets\Events\ClientMessageSent;
|
||||
use BeyondCode\LaravelWebSockets\WebSockets\Channels\ChannelManager;
|
||||
use Ratchet\ConnectionInterface;
|
||||
|
|
@ -33,7 +34,7 @@ class Message implements RespondableMessage
|
|||
return;
|
||||
}
|
||||
|
||||
event(new ClientMessageSent($this->connection, $this->payload));
|
||||
DashboardLogger::clientMessage($this->connection, $this->payload);
|
||||
|
||||
$channel = $this->channelManager->find($this->connection->client->appId, $this->payload->channel);
|
||||
|
||||
|
|
|
|||
|
|
@ -2,6 +2,7 @@
|
|||
|
||||
namespace BeyondCode\LaravelWebSockets\WebSockets;
|
||||
|
||||
use BeyondCode\LaravelWebSockets\Dashboard\DashboardLogger;
|
||||
use BeyondCode\LaravelWebSockets\Events\ConnectionEstablished;
|
||||
use BeyondCode\LaravelWebSockets\WebSockets\Exceptions\WebSocketException;
|
||||
use BeyondCode\LaravelWebSockets\WebSockets\Messages\RespondableMessageFactory;
|
||||
|
|
@ -85,7 +86,7 @@ class WebSocketHandler implements MessageComponentInterface
|
|||
])
|
||||
]));
|
||||
|
||||
event(new ConnectionEstablished($connection));
|
||||
DashboardLogger::connection($connection);
|
||||
|
||||
return $this;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,13 +2,11 @@
|
|||
|
||||
namespace BeyondCode\LaravelWebSockets;
|
||||
|
||||
use BeyondCode\LaravelWebSockets\Dashboard\EventSubscriber;
|
||||
use BeyondCode\LaravelWebSockets\Dashboard\Http\Controllers\AuthenticateDashboard;
|
||||
use BeyondCode\LaravelWebSockets\Dashboard\Http\Controllers\SendMessage;
|
||||
use BeyondCode\LaravelWebSockets\Dashboard\Http\Controllers\ShowDashboard;
|
||||
use BeyondCode\LaravelWebSockets\Dashboard\Http\Middleware\Authorize;
|
||||
use BeyondCode\LaravelWebSockets\Server\Router;
|
||||
use Illuminate\Support\Facades\Event;
|
||||
use Illuminate\Support\Facades\Gate;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
use BeyondCode\LaravelWebSockets\ClientProviders\ClientProvider;
|
||||
|
|
@ -32,8 +30,6 @@ class WebSocketsServiceProvider extends ServiceProvider
|
|||
$this->commands([
|
||||
Console\StartWebSocketServer::class,
|
||||
]);
|
||||
|
||||
Event::subscribe(EventSubscriber::class);
|
||||
}
|
||||
|
||||
public function register()
|
||||
|
|
|
|||
Loading…
Reference in New Issue