chore: complete update

This commit is contained in:
2025-07-17 16:24:20 +02:00
parent 899227b0a4
commit 64a7051137
1300 changed files with 85570 additions and 2756 deletions

View File

@@ -0,0 +1,59 @@
<?php
declare(strict_types=1);
namespace App\Framework\Http\Middlewares;
use App\Framework\Http\HttpMiddleware;
use App\Framework\Http\MiddlewareContext;
use App\Framework\Http\MiddlewarePriority;
use App\Framework\Http\MiddlewarePriorityAttribute;
use App\Framework\Http\RequestStateManager;
use App\Framework\Http\Request;
use App\Framework\Http\Response;
use App\Framework\Logging\Logger;
#[MiddlewarePriorityAttribute(MiddlewarePriority::LOGGING)]
final readonly class RequestLoggingMiddleware implements HttpMiddleware
{
public function __construct(
private Logger $logger
){}
public function __invoke(MiddlewareContext $context, callable $next, RequestStateManager $stateManager): MiddlewareContext
{
$startTime = microtime(true);
$request = $context->request;
// Anfrage loggen
$path = $request->path;
$method = $request->method;
// Nächste Middleware aufrufen
$resultContext = $next($context);
// Antwort loggen
$endTime = microtime(true);
$duration = round(($endTime - $startTime) * 1000, 2);
// Statuscode nur abrufen, wenn eine Response vorhanden ist
$status = $resultContext->hasResponse()
? $resultContext->response->status->value
: 'keine Response';
// Log-Eintrag erstellen
$logEntry = sprintf(
'[%s] %s %s - %d (%s ms)',
date('Y-m-d H:i:s'),
$method->value,
$path,
$status,
$duration
);
$this->logger->info($logEntry);
// In Log-Datei schreiben...
return $resultContext;
}
}