This commit is contained in:
Marcel Pociot
2021-05-18 12:39:12 +02:00
parent 21ed707718
commit 60ce7816a2
6 changed files with 685 additions and 582 deletions

View File

@@ -120,7 +120,7 @@ class Factory
$this->router->post('/api/logs/{request_id}/data', AttachDataToLogController::class);
$this->router->get('/api/logs/clear', ClearLogsController::class);
$this->app->route('/socket', new WsServer(new Socket()), ['*']);
$this->app->route('/socket', new WsServer(new Socket()), ['*'], "");
foreach ($this->router->getRoutes()->all() as $name => $route) {
$this->app->routes->add($name, $route);

View File

@@ -4,8 +4,11 @@ namespace App\Client\Http\Controllers;
use App\Client\Http\HttpClient;
use App\Http\Controllers\Controller;
use App\Logger\LoggedRequest;
use App\Logger\RequestLogger;
use GuzzleHttp\Psr7\Response;
use Illuminate\Support\Str;
use Laminas\Http\Header\GenericHeader;
use function GuzzleHttp\Psr7\str;
use Illuminate\Http\Request;
use Ratchet\ConnectionInterface;
@@ -34,7 +37,9 @@ class ReplayLogController extends Controller
return;
}
$this->httpClient->performRequest($loggedRequest->getRequestData());
$loggedRequest->refreshId();
$this->httpClient->performRequest($loggedRequest->getRequest()->toString());
$httpConnection->send(str(new Response(200)));
}

View File

@@ -3,6 +3,7 @@
namespace App\Logger;
use Carbon\Carbon;
use Laminas\Http\Header\GenericHeader;
use function GuzzleHttp\Psr7\parse_request;
use Illuminate\Support\Arr;
use Illuminate\Support\Str;
@@ -314,4 +315,17 @@ class LoggedRequest implements \JsonSerializable
return '';
}
}
public function refreshId()
{
$requestId = (string) Str::uuid();
$this->getRequest()->getHeaders()->removeHeader(
$this->getRequest()->getHeader('x-expose-request-id')
);
$this->getRequest()->getHeaders()->addHeader(new GenericHeader('x-expose-request-id', $requestId));
$this->id = $requestId;
}
}