secret = $secret ?: ($_ENV['APP_SECRET'] ?? 'default-secret-change-me'); } /** * Generiert eine neue Request-ID oder validiert und verwendet eine bestehende */ public function generate(): RequestId { if ($this->requestId === null) { // Prüfen, ob eine Request-ID im Header vorhanden ist $headerRequestId = $_SERVER[str_replace('-', '_', 'HTTP_' . self::REQUEST_ID_HEADER)] ?? null; // Neue RequestId erstellen (validiert automatisch die Header-ID, falls vorhanden) $this->requestId = new RequestId($headerRequestId, $this->secret); } return $this->requestId; } /** * Gibt die aktuelle Request-ID zurück oder null, wenn noch keine generiert wurde */ public function getCurrentId(): ?RequestId { return $this->requestId; } /** * Gibt den Header-Namen für die Request-ID zurück */ public static function getHeaderName(): string { return self::REQUEST_ID_HEADER; } }