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