nitpicks
This commit is contained in:
parent
ad2e5560e3
commit
e70846d3cd
|
|
@ -3,10 +3,12 @@
|
||||||
namespace BeyondCode\LaravelWebSockets\LaravelEcho\Http\Controllers;
|
namespace BeyondCode\LaravelWebSockets\LaravelEcho\Http\Controllers;
|
||||||
|
|
||||||
use BeyondCode\LaravelWebSockets\ClientProviders\Client;
|
use BeyondCode\LaravelWebSockets\ClientProviders\Client;
|
||||||
|
use BeyondCode\LaravelWebSockets\QueryParameters;
|
||||||
use Exception;
|
use Exception;
|
||||||
use Illuminate\Http\Request;
|
use Illuminate\Http\Request;
|
||||||
use GuzzleHttp\Psr7 as gPsr;
|
use GuzzleHttp\Psr7 as gPsr;
|
||||||
use GuzzleHttp\Psr7\Response;
|
use GuzzleHttp\Psr7\Response;
|
||||||
|
use MongoDB\Driver\Query;
|
||||||
use Ratchet\ConnectionInterface;
|
use Ratchet\ConnectionInterface;
|
||||||
use Illuminate\Http\JsonResponse;
|
use Illuminate\Http\JsonResponse;
|
||||||
use GuzzleHttp\Psr7\ServerRequest;
|
use GuzzleHttp\Psr7\ServerRequest;
|
||||||
|
|
@ -28,16 +30,13 @@ abstract class EchoController implements HttpServerInterface
|
||||||
|
|
||||||
public function onOpen(ConnectionInterface $connection, RequestInterface $request = null)
|
public function onOpen(ConnectionInterface $connection, RequestInterface $request = null)
|
||||||
{
|
{
|
||||||
$queryParameters = [];
|
|
||||||
parse_str($request->getUri()->getQuery(), $queryParameters);
|
|
||||||
|
|
||||||
$serverRequest = (new ServerRequest(
|
$serverRequest = (new ServerRequest(
|
||||||
$request->getMethod(),
|
$request->getMethod(),
|
||||||
$request->getUri(),
|
$request->getUri(),
|
||||||
$request->getHeaders(),
|
$request->getHeaders(),
|
||||||
$request->getBody(),
|
$request->getBody(),
|
||||||
$request->getProtocolVersion()
|
$request->getProtocolVersion()
|
||||||
))->withQueryParams($queryParameters);
|
))->withQueryParams(QueryParameters::create($request)->all());
|
||||||
|
|
||||||
$laravelRequest = Request::createFromBase((new HttpFoundationFactory)->createRequest($serverRequest));
|
$laravelRequest = Request::createFromBase((new HttpFoundationFactory)->createRequest($serverRequest));
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -3,6 +3,7 @@
|
||||||
namespace BeyondCode\LaravelWebSockets\LaravelEcho\WebSocket;
|
namespace BeyondCode\LaravelWebSockets\LaravelEcho\WebSocket;
|
||||||
|
|
||||||
use BeyondCode\LaravelWebSockets\LaravelEcho\Pusher\Dashboard;
|
use BeyondCode\LaravelWebSockets\LaravelEcho\Pusher\Dashboard;
|
||||||
|
use BeyondCode\LaravelWebSockets\QueryParameters;
|
||||||
use Exception;
|
use Exception;
|
||||||
use Ratchet\ConnectionInterface;
|
use Ratchet\ConnectionInterface;
|
||||||
use Ratchet\RFC6455\Messaging\MessageInterface;
|
use Ratchet\RFC6455\Messaging\MessageInterface;
|
||||||
|
|
@ -54,14 +55,10 @@ class PusherServer extends WebSocketController
|
||||||
|
|
||||||
protected function verifyConnection(ConnectionInterface $connection)
|
protected function verifyConnection(ConnectionInterface $connection)
|
||||||
{
|
{
|
||||||
/** @var \GuzzleHttp\Psr7\Request $request */
|
$appKey = QueryParameters::create($connection->httpRequest)->get('appKey');
|
||||||
$request = $connection->httpRequest;
|
|
||||||
|
|
||||||
$queryParameters = [];
|
if (! $client = Client::findByAppKey($appKey)) {
|
||||||
parse_str($request->getUri()->getQuery(), $queryParameters);
|
throw new UnknownAppKeyException($appKey);
|
||||||
|
|
||||||
if (! $client = Client::findByAppKey($queryParameters['appKey'])) {
|
|
||||||
throw new UnknownAppKeyException($queryParameters['appKey']);
|
|
||||||
}
|
}
|
||||||
|
|
||||||
$connection->client = $client;
|
$connection->client = $client;
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,35 @@
|
||||||
|
<?php
|
||||||
|
|
||||||
|
namespace BeyondCode\LaravelWebSockets;
|
||||||
|
|
||||||
|
use Psr\Http\Message\RequestInterface;
|
||||||
|
|
||||||
|
class QueryParameters
|
||||||
|
{
|
||||||
|
/** @var \Psr\Http\Message\RequestInterface */
|
||||||
|
protected $request;
|
||||||
|
|
||||||
|
public static function create(RequestInterface $request)
|
||||||
|
{
|
||||||
|
return new static($request);
|
||||||
|
}
|
||||||
|
|
||||||
|
public function __construct(RequestInterface $request)
|
||||||
|
{
|
||||||
|
$this->request = $request;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function all(): array
|
||||||
|
{
|
||||||
|
$queryParameters = [];
|
||||||
|
|
||||||
|
parse_str($this->request->getUri()->getQuery(), $queryParameters);
|
||||||
|
|
||||||
|
return $queryParameters;
|
||||||
|
}
|
||||||
|
|
||||||
|
public function get(string $name): string
|
||||||
|
{
|
||||||
|
return $this->all()[$name] ?? '';
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
@ -8,6 +8,7 @@
|
||||||
|
|
||||||
namespace BeyondCode\LaravelWebSockets\Server\Logger;
|
namespace BeyondCode\LaravelWebSockets\Server\Logger;
|
||||||
|
|
||||||
|
use BeyondCode\LaravelWebSockets\QueryParameters;
|
||||||
use Exception;
|
use Exception;
|
||||||
use Ratchet\ConnectionInterface;
|
use Ratchet\ConnectionInterface;
|
||||||
use Ratchet\RFC6455\Messaging\MessageInterface;
|
use Ratchet\RFC6455\Messaging\MessageInterface;
|
||||||
|
|
@ -34,12 +35,9 @@ class MessageLogger extends Logger implements MessageComponentInterface
|
||||||
|
|
||||||
public function onOpen(ConnectionInterface $connection)
|
public function onOpen(ConnectionInterface $connection)
|
||||||
{
|
{
|
||||||
$request = $connection->httpRequest;
|
$appKey = QueryParameters::create($connection->httpRequest)->get('appKey');
|
||||||
|
|
||||||
$queryParameters = [];
|
$this->warn("New connection opened for app key {$appKey}.");
|
||||||
parse_str($request->getUri()->getQuery(), $queryParameters);
|
|
||||||
|
|
||||||
$this->warn("New connection opened for app key {$queryParameters['appKey']}.");
|
|
||||||
|
|
||||||
$this->app->onOpen(ConnectionLogger::decorate($connection));
|
$this->app->onOpen(ConnectionLogger::decorate($connection));
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue