mirror of
https://github.com/bitinflow/expose.git
synced 2026-03-13 21:45:55 +00:00
Apply fixes from StyleCI
This commit is contained in:
committed by
StyleCI Bot
parent
0e33bc7d99
commit
83676deddb
@@ -6,12 +6,11 @@ use App\Client\Connections\ControlConnection;
|
||||
use App\Logger\CliRequestLogger;
|
||||
use Carbon\Carbon;
|
||||
use Illuminate\Support\Arr;
|
||||
use Illuminate\Support\Str;
|
||||
use function Ratchet\Client\connect;
|
||||
use Ratchet\Client\WebSocket;
|
||||
use React\EventLoop\LoopInterface;
|
||||
use React\Promise\Deferred;
|
||||
use React\Promise\PromiseInterface;
|
||||
use function Ratchet\Client\connect;
|
||||
|
||||
class Client
|
||||
{
|
||||
@@ -26,7 +25,7 @@ class Client
|
||||
/** @var CliRequestLogger */
|
||||
protected $logger;
|
||||
|
||||
/** @var int */
|
||||
/** @var int */
|
||||
protected $connectionRetries = 0;
|
||||
|
||||
/** @var int */
|
||||
@@ -73,7 +72,7 @@ class Client
|
||||
$deferred = new Deferred();
|
||||
$promise = $deferred->promise();
|
||||
|
||||
$wsProtocol = $this->configuration->port() === 443 ? "wss" : "ws";
|
||||
$wsProtocol = $this->configuration->port() === 443 ? 'wss' : 'ws';
|
||||
|
||||
connect($wsProtocol."://{$this->configuration->host()}:{$this->configuration->port()}/expose/control?authToken={$authToken}", [], [
|
||||
'X-Expose-Control' => 'enabled',
|
||||
@@ -85,7 +84,7 @@ class Client
|
||||
|
||||
$connection->authenticate($sharedUrl, $subdomain);
|
||||
|
||||
$clientConnection->on('close', function() use ($deferred, $sharedUrl, $subdomain, $authToken) {
|
||||
$clientConnection->on('close', function () use ($deferred, $sharedUrl, $subdomain, $authToken) {
|
||||
$this->logger->error('Connection to server closed.');
|
||||
|
||||
$this->retryConnectionOrExit($sharedUrl, $subdomain, $authToken);
|
||||
@@ -106,7 +105,7 @@ class Client
|
||||
$connection->on('setMaximumConnectionLength', function ($data) {
|
||||
$timeoutSection = $this->logger->getOutput()->section();
|
||||
|
||||
$this->loop->addPeriodicTimer(1, function() use ($data, $timeoutSection) {
|
||||
$this->loop->addPeriodicTimer(1, function () use ($data, $timeoutSection) {
|
||||
$this->timeConnected++;
|
||||
|
||||
$carbon = Carbon::createFromFormat('s', str_pad($data->length * 60 - $this->timeConnected, 2, 0, STR_PAD_LEFT));
|
||||
@@ -117,7 +116,7 @@ class Client
|
||||
});
|
||||
|
||||
$connection->on('authenticated', function ($data) use ($deferred, $sharedUrl) {
|
||||
$httpProtocol = $this->configuration->port() === 443 ? "https" : "http";
|
||||
$httpProtocol = $this->configuration->port() === 443 ? 'https' : 'http';
|
||||
$host = $this->configuration->host();
|
||||
|
||||
if ($httpProtocol !== 'https') {
|
||||
@@ -134,13 +133,13 @@ class Client
|
||||
|
||||
$deferred->resolve($data);
|
||||
});
|
||||
|
||||
}, function (\Exception $e) use ($deferred, $sharedUrl, $subdomain, $authToken) {
|
||||
if ($this->connectionRetries > 0) {
|
||||
$this->retryConnectionOrExit($sharedUrl, $subdomain, $authToken);
|
||||
|
||||
return;
|
||||
}
|
||||
$this->logger->error("Could not connect to the server.");
|
||||
$this->logger->error('Could not connect to the server.');
|
||||
$this->logger->error($e->getMessage());
|
||||
|
||||
$this->exit($deferred);
|
||||
@@ -153,7 +152,7 @@ class Client
|
||||
{
|
||||
$deferred->reject();
|
||||
|
||||
$this->loop->futureTick(function(){
|
||||
$this->loop->futureTick(function () {
|
||||
exit(1);
|
||||
});
|
||||
}
|
||||
@@ -163,8 +162,8 @@ class Client
|
||||
$this->connectionRetries++;
|
||||
|
||||
if ($this->connectionRetries <= static::MAX_CONNECTION_RETRIES) {
|
||||
$this->loop->addTimer($this->connectionRetries, function() use ($sharedUrl, $subdomain, $authToken) {
|
||||
$this->logger->info("Retrying connection ({$this->connectionRetries}/".static::MAX_CONNECTION_RETRIES.")");
|
||||
$this->loop->addTimer($this->connectionRetries, function () use ($sharedUrl, $subdomain, $authToken) {
|
||||
$this->logger->info("Retrying connection ({$this->connectionRetries}/".static::MAX_CONNECTION_RETRIES.')');
|
||||
|
||||
$this->connectToServer($sharedUrl, $subdomain, $authToken);
|
||||
});
|
||||
|
||||
@@ -3,9 +3,9 @@
|
||||
namespace App\Client\Connections;
|
||||
|
||||
use App\Client\ProxyManager;
|
||||
use Evenement\EventEmitterTrait;
|
||||
use Ratchet\Client\WebSocket;
|
||||
use Ratchet\ConnectionInterface;
|
||||
use Evenement\EventEmitterTrait;
|
||||
use Ratchet\RFC6455\Messaging\Message;
|
||||
|
||||
class ControlConnection
|
||||
|
||||
@@ -2,19 +2,19 @@
|
||||
|
||||
namespace App\Client;
|
||||
|
||||
use App\Client\Http\Controllers\AttachDataToLogController;
|
||||
use App\Client\Http\Controllers\ClearLogsController;
|
||||
use App\Client\Http\Controllers\CreateTunnelController;
|
||||
use App\Client\Http\Controllers\PushLogsToDashboardController;
|
||||
use App\Http\App;
|
||||
use App\Client\Http\Controllers\AttachDataToLogController;
|
||||
use App\Client\Http\Controllers\DashboardController;
|
||||
use App\Client\Http\Controllers\LogController;
|
||||
use App\Client\Http\Controllers\PushLogsToDashboardController;
|
||||
use App\Client\Http\Controllers\ReplayLogController;
|
||||
use App\Http\App;
|
||||
use App\Http\RouteGenerator;
|
||||
use App\WebSockets\Socket;
|
||||
use Ratchet\WebSocket\WsServer;
|
||||
use React\EventLoop\LoopInterface;
|
||||
use React\EventLoop\Factory as LoopFactory;
|
||||
use React\EventLoop\LoopInterface;
|
||||
|
||||
class Factory
|
||||
{
|
||||
@@ -158,5 +158,4 @@ class Factory
|
||||
{
|
||||
$this->loop->run();
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -3,11 +3,11 @@
|
||||
namespace App\Client\Http\Controllers;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use GuzzleHttp\Psr7\Response;
|
||||
use Illuminate\Http\Request;
|
||||
use App\Logger\RequestLogger;
|
||||
use Ratchet\ConnectionInterface;
|
||||
use GuzzleHttp\Psr7\Response;
|
||||
use function GuzzleHttp\Psr7\str;
|
||||
use Illuminate\Http\Request;
|
||||
use Ratchet\ConnectionInterface;
|
||||
|
||||
class AttachDataToLogController extends Controller
|
||||
{
|
||||
@@ -24,11 +24,12 @@ class AttachDataToLogController extends Controller
|
||||
$loggedRequest = $this->requestLogger->findLoggedRequest($request->get('request_id', ''));
|
||||
|
||||
if (! is_null($loggedRequest)) {
|
||||
$loggedRequest->setAdditionalData((array)$request->get('data', []));
|
||||
$loggedRequest->setAdditionalData((array) $request->get('data', []));
|
||||
|
||||
$this->requestLogger->pushLoggedRequest($loggedRequest);
|
||||
|
||||
$httpConnection->send(str(new Response(200)));
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -3,18 +3,13 @@
|
||||
namespace App\Client\Http\Controllers;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Exception;
|
||||
use App\WebSockets\Socket;
|
||||
use GuzzleHttp\Psr7\Response;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Collection;
|
||||
use Ratchet\ConnectionInterface;
|
||||
use function GuzzleHttp\Psr7\str;
|
||||
use Psr\Http\Message\RequestInterface;
|
||||
use Illuminate\Http\Request;
|
||||
use Ratchet\ConnectionInterface;
|
||||
|
||||
class CreateTunnelController extends Controller
|
||||
{
|
||||
|
||||
protected $keepConnectionOpen = true;
|
||||
|
||||
public function handle(Request $request, ConnectionInterface $httpConnection)
|
||||
@@ -24,10 +19,9 @@ class CreateTunnelController extends Controller
|
||||
->then(function ($data) use ($httpConnection) {
|
||||
$httpConnection->send(respond_json($data));
|
||||
$httpConnection->close();
|
||||
}, function() use ($httpConnection) {
|
||||
}, function () use ($httpConnection) {
|
||||
$httpConnection->send(str(new Response(500)));
|
||||
$httpConnection->close();
|
||||
});
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -4,15 +4,11 @@ namespace App\Client\Http\Controllers;
|
||||
|
||||
use App\Client\Client;
|
||||
use App\Http\Controllers\Controller;
|
||||
use GuzzleHttp\Psr7\Response;
|
||||
use Illuminate\Http\Request;
|
||||
use function GuzzleHttp\Psr7\str;
|
||||
use Psr\Http\Message\RequestInterface;
|
||||
use Ratchet\ConnectionInterface;
|
||||
|
||||
class DashboardController extends Controller
|
||||
{
|
||||
|
||||
public function handle(Request $request, ConnectionInterface $httpConnection)
|
||||
{
|
||||
$httpConnection->send(respond_html($this->getView($httpConnection, 'client.dashboard', [
|
||||
|
||||
@@ -4,11 +4,8 @@ namespace App\Client\Http\Controllers;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Logger\RequestLogger;
|
||||
use GuzzleHttp\Psr7\Response;
|
||||
use Illuminate\Http\Request;
|
||||
use Ratchet\ConnectionInterface;
|
||||
use function GuzzleHttp\Psr7\str;
|
||||
use Psr\Http\Message\RequestInterface;
|
||||
|
||||
class LogController extends Controller
|
||||
{
|
||||
|
||||
@@ -3,18 +3,15 @@
|
||||
namespace App\Client\Http\Controllers;
|
||||
|
||||
use App\Http\Controllers\Controller;
|
||||
use Exception;
|
||||
use App\WebSockets\Socket;
|
||||
use Exception;
|
||||
use GuzzleHttp\Psr7\Response;
|
||||
use Illuminate\Http\Request;
|
||||
use Illuminate\Support\Collection;
|
||||
use Ratchet\ConnectionInterface;
|
||||
use function GuzzleHttp\Psr7\str;
|
||||
use Psr\Http\Message\RequestInterface;
|
||||
use Illuminate\Http\Request;
|
||||
use Ratchet\ConnectionInterface;
|
||||
|
||||
class PushLogsToDashboardController extends Controller
|
||||
{
|
||||
|
||||
public function handle(Request $request, ConnectionInterface $httpConnection)
|
||||
{
|
||||
try {
|
||||
|
||||
@@ -4,13 +4,11 @@ namespace App\Client\Http\Controllers;
|
||||
|
||||
use App\Client\Http\HttpClient;
|
||||
use App\Http\Controllers\Controller;
|
||||
use App\Http\QueryParameters;
|
||||
use App\Logger\RequestLogger;
|
||||
use GuzzleHttp\Psr7\Response;
|
||||
use function GuzzleHttp\Psr7\str;
|
||||
use Illuminate\Http\Request;
|
||||
use Ratchet\ConnectionInterface;
|
||||
use function GuzzleHttp\Psr7\str;
|
||||
use Psr\Http\Message\RequestInterface;
|
||||
|
||||
class ReplayLogController extends Controller
|
||||
{
|
||||
@@ -32,6 +30,7 @@ class ReplayLogController extends Controller
|
||||
|
||||
if (is_null($loggedRequest)) {
|
||||
$httpConnection->send(str(new Response(404)));
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
|
||||
@@ -5,8 +5,8 @@ namespace App\Client\Http;
|
||||
use App\Client\Http\Modifiers\CheckBasicAuthentication;
|
||||
use App\Logger\RequestLogger;
|
||||
use Clue\React\Buzz\Browser;
|
||||
use Illuminate\Pipeline\Pipeline;
|
||||
use Illuminate\Support\Arr;
|
||||
use function GuzzleHttp\Psr7\parse_request;
|
||||
use function GuzzleHttp\Psr7\str;
|
||||
use Laminas\Http\Request;
|
||||
use Psr\Http\Message\RequestInterface;
|
||||
use Psr\Http\Message\ResponseInterface;
|
||||
@@ -14,8 +14,6 @@ use Ratchet\Client\WebSocket;
|
||||
use Ratchet\RFC6455\Messaging\Frame;
|
||||
use React\EventLoop\LoopInterface;
|
||||
use React\Socket\Connector;
|
||||
use function GuzzleHttp\Psr7\parse_request;
|
||||
use function GuzzleHttp\Psr7\str;
|
||||
|
||||
class HttpClient
|
||||
{
|
||||
@@ -67,13 +65,13 @@ class HttpClient
|
||||
|
||||
protected function createConnector(): Connector
|
||||
{
|
||||
return new Connector($this->loop, array(
|
||||
return new Connector($this->loop, [
|
||||
'dns' => '127.0.0.1',
|
||||
'tls' => array(
|
||||
'tls' => [
|
||||
'verify_peer' => false,
|
||||
'verify_peer_name' => false
|
||||
)
|
||||
));
|
||||
'verify_peer_name' => false,
|
||||
],
|
||||
]);
|
||||
}
|
||||
|
||||
protected function sendRequestToApplication(RequestInterface $request, $proxyConnection = null)
|
||||
|
||||
@@ -4,10 +4,10 @@ namespace App\Client\Http\Modifiers;
|
||||
|
||||
use App\Client\Configuration;
|
||||
use GuzzleHttp\Psr7\Response;
|
||||
use function GuzzleHttp\Psr7\str;
|
||||
use Illuminate\Support\Arr;
|
||||
use Psr\Http\Message\RequestInterface;
|
||||
use Ratchet\Client\WebSocket;
|
||||
use function GuzzleHttp\Psr7\str;
|
||||
|
||||
class CheckBasicAuthentication
|
||||
{
|
||||
@@ -30,10 +30,11 @@ class CheckBasicAuthentication
|
||||
if (is_null($username)) {
|
||||
$proxyConnection->send(
|
||||
str(new Response(401, [
|
||||
'WWW-Authenticate' => 'Basic realm=Expose'
|
||||
'WWW-Authenticate' => 'Basic realm=Expose',
|
||||
], 'Unauthorized'))
|
||||
);
|
||||
$proxyConnection->close();
|
||||
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -49,7 +50,7 @@ class CheckBasicAuthentication
|
||||
return null;
|
||||
}
|
||||
|
||||
if (!array_key_exists($authorization['username'], $credentials)) {
|
||||
if (! array_key_exists($authorization['username'], $credentials)) {
|
||||
return null;
|
||||
}
|
||||
|
||||
@@ -63,13 +64,13 @@ class CheckBasicAuthentication
|
||||
protected function parseAuthorizationHeader(string $header)
|
||||
{
|
||||
if (strpos($header, 'Basic') !== 0) {
|
||||
return null;
|
||||
return;
|
||||
}
|
||||
|
||||
$header = base64_decode(substr($header, 6));
|
||||
|
||||
if ($header === false) {
|
||||
return null;
|
||||
return;
|
||||
}
|
||||
|
||||
$header = explode(':', $header, 2);
|
||||
@@ -82,13 +83,14 @@ class CheckBasicAuthentication
|
||||
|
||||
protected function requiresAuthentication(): bool
|
||||
{
|
||||
return !empty($this->getCredentials());
|
||||
return ! empty($this->getCredentials());
|
||||
}
|
||||
|
||||
protected function getCredentials()
|
||||
{
|
||||
try {
|
||||
$credentials = explode(':', $this->configuration->auth());
|
||||
|
||||
return [
|
||||
$credentials[0] => $credentials[1],
|
||||
];
|
||||
|
||||
@@ -3,10 +3,9 @@
|
||||
namespace App\Client;
|
||||
|
||||
use App\Client\Http\HttpClient;
|
||||
use Ratchet\Client\WebSocket;
|
||||
use Ratchet\ConnectionInterface;
|
||||
use React\EventLoop\LoopInterface;
|
||||
use function Ratchet\Client\connect;
|
||||
use Ratchet\Client\WebSocket;
|
||||
use React\EventLoop\LoopInterface;
|
||||
|
||||
class ProxyManager
|
||||
{
|
||||
@@ -24,14 +23,14 @@ class ProxyManager
|
||||
|
||||
public function createProxy(string $clientId, $connectionData)
|
||||
{
|
||||
$protocol = $this->configuration->port() === 443 ? "wss" : "ws";
|
||||
$protocol = $this->configuration->port() === 443 ? 'wss' : 'ws';
|
||||
|
||||
connect($protocol."://{$this->configuration->host()}:{$this->configuration->port()}/expose/control", [], [
|
||||
'X-Expose-Control' => 'enabled',
|
||||
], $this->loop)
|
||||
->then(function (WebSocket $proxyConnection) use ($clientId, $connectionData) {
|
||||
$proxyConnection->on('message', function ($message) use ($proxyConnection, $connectionData) {
|
||||
$this->performRequest($proxyConnection, $connectionData->request_id, (string)$message);
|
||||
$this->performRequest($proxyConnection, $connectionData->request_id, (string) $message);
|
||||
});
|
||||
|
||||
$proxyConnection->send(json_encode([
|
||||
@@ -46,6 +45,6 @@ class ProxyManager
|
||||
|
||||
protected function performRequest(WebSocket $proxyConnection, $requestId, string $requestData)
|
||||
{
|
||||
app(HttpClient::class)->performRequest((string)$requestData, $proxyConnection, $requestId);
|
||||
app(HttpClient::class)->performRequest((string) $requestData, $proxyConnection, $requestId);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -22,6 +22,5 @@ class TokenNodeVisitor extends NodeVisitorAbstract
|
||||
|
||||
return $node;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user