mirror of
https://github.com/bitinflow/expose.git
synced 2026-03-13 13:35:54 +00:00
wip
This commit is contained in:
35
app/HttpServer/Controllers/ReplayLogController.php
Normal file
35
app/HttpServer/Controllers/ReplayLogController.php
Normal file
@@ -0,0 +1,35 @@
|
||||
<?php
|
||||
|
||||
namespace App\HttpServer\Controllers;
|
||||
|
||||
use App\Client\TunnelConnection;
|
||||
use App\HttpServer\QueryParameters;
|
||||
use App\Logger\RequestLogger;
|
||||
use GuzzleHttp\Psr7\Response;
|
||||
use Ratchet\ConnectionInterface;
|
||||
use function GuzzleHttp\Psr7\str;
|
||||
use Psr\Http\Message\RequestInterface;
|
||||
|
||||
class ReplayLogController extends Controller
|
||||
{
|
||||
public function onOpen(ConnectionInterface $connection, RequestInterface $request = null)
|
||||
{
|
||||
/** @var RequestLogger $logger */
|
||||
$logger = app(RequestLogger::class);
|
||||
$requestData = $logger->findLoggedRequest(QueryParameters::create($request)->get('log'))->getRequestData();
|
||||
|
||||
/** @var TunnelConnection $tunnel */
|
||||
$tunnel = app(TunnelConnection::class);
|
||||
$tunnel->performRequest($requestData);
|
||||
|
||||
$connection->send(
|
||||
str(new Response(
|
||||
200,
|
||||
['Content-Type' => 'application/json'],
|
||||
''
|
||||
))
|
||||
);
|
||||
|
||||
$connection->close();
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user