# HTTP-Modul Dokumentation ## Übersicht Das HTTP-Modul stellt Komponenten für die Verarbeitung von HTTP-Anfragen und -Antworten bereit. ## Hauptkomponenten ### Request Repräsentiert eine HTTP-Anfrage mit Methoden zum Zugriff auf: - HTTP-Methode (`getMethod()`) - Pfad (`getPath()`) - Query-Parameter (`getQueryParams()`) - Request-Body - Headers ### Response Repräsentiert eine HTTP-Antwort mit: - Status-Code (`getStatusCode()`) - Headers - Body ### Middleware Ein Interface für HTTP-Middleware-Komponenten, die die Request-Verarbeitung verändern können: ```php interface Middleware { public function process(Request $request, callable $next): Response; } ``` **Beispiel-Middleware:** ```php class AnalyticsMiddleware implements Middleware { public function __construct( private readonly Analytics $analytics ) {} public function process(Request $request, callable $next): Response { // Request tracken $this->analytics->track('http_request', [ 'method' => $request->getMethod(), 'path' => $request->getPath(), ]); // Request weiterleiten $response = $next($request); // Response tracken $this->analytics->track('http_response', [ 'status_code' => $response->getStatusCode(), ]); return $response; } } ``` ## Integration mit anderen Modulen - **Router**: Routing von HTTP-Requests zu Controllers - **Analytics**: Tracking von HTTP-Requests und -Responses - **Validation**: Validierung von Request-Daten ## Middlewares registrieren In der Anwendungsklasse: ```php $this->addMiddleware(LoggingMiddleware::class); $this->addMiddleware(AnalyticsMiddleware::class); $this->addMiddleware(AuthenticationMiddleware::class); ``` ## Responses erzeugen ```php // JSON-Response return new JsonResponse(['success' => true]); // HTML-Response return new HtmlResponse('Hello World'); // Redirect return new RedirectResponse('/dashboard'); ```