Expose sanitized Portainer connection errors
This commit is contained in:
+1
-1
@@ -47,4 +47,4 @@ Alle Einträge verwenden ISO-8601-Timestamps in UTC. Mehrere Änderungen desselb
|
||||
- Browserinstaller korrigiert: Der initiale Administrator wird jetzt mit allen im `users`-Schema erforderlichen Pflichtfeldern angelegt.
|
||||
- Realm-Dashboard korrigiert: Es fragt nur noch die konfigurierte Portainer-Umgebung ab, benötigt keine globale Endpoint-Liste oder Endpoint-Metadaten mehr und verwendet direkt den Docker-Proxy.
|
||||
- Fehlgeschlagene, bereits bezahlte Provisionierungen können durch Administratoren erneut gestartet werden.
|
||||
- Administratoren erhalten bei fehlgeschlagenen Instanzaktionen einen bereinigten technischen Diagnosehinweis.
|
||||
- Administratoren erhalten bei fehlgeschlagenen Instanzaktionen einen bereinigten technischen Diagnosehinweis inklusive cURL-Fehlerdetails bei Verbindungsproblemen.
|
||||
|
||||
@@ -195,7 +195,9 @@ function pnpaas_portainer_request(string $path, string $method = 'GET', ?array $
|
||||
curl_close($handle);
|
||||
|
||||
if ($body === false || $error !== '') {
|
||||
throw new RuntimeException('Portainer ist nicht erreichbar.');
|
||||
$detail = trim($error);
|
||||
$detail = preg_replace('/(?:X-API-Key|Authorization|Bearer)\s*:\s*[^\s,;]+/i', '[credential redacted]', $detail) ?? $detail;
|
||||
throw new RuntimeException('Portainer ist nicht erreichbar' . ($detail !== '' ? ': ' . substr($detail, 0, 400) : '.'));
|
||||
}
|
||||
if ($status < 200 || ($status >= 300 && $status !== 304)) {
|
||||
$detail = trim(preg_replace('/\s+/', ' ', (string)$body) ?? '');
|
||||
|
||||
Reference in New Issue
Block a user