Neu Shop liefert falschen HTTP Statuscode im Fehlerfall

Xantiva

Sehr aktives Mitglied
28. August 2016
1.795
316
Düsseldorf
Hallo JTL,

wir haben Last-Tests durchgeführt und dabei ist folgendes, sehr unschönes Verhalten sichtbar geworden.

Wenn beim Aufruf des Shops die Datenbank Verbindung nicht hergestellt werden kann, dann gibt der Shop lediglich die SQL Fehlermeldung aus, aber ohne den HTTP Statuscode auf einen Fehlercode zu setzen. Der Shop liefert immer noch den #200 Ok aus:

1592034795150.png

Ich habe mir erst mal so beholfen, dass ich im Konstructor der NiceDB Klasse in der Datei /classes/core/class.core.NiceDB.php einen Try Catch Block um das new PDO setze und dann einen Fehler-Statuscode ausgebe:
PHP:
        try
        {
            $this->pdo = new PDO($dsn, $dbUser, $dbPass, $options);
        }
        catch (PDOException $e)
        {
            header("HTTP/1.0  503 Service Unavailable ");
            throw $e;
        }

Bitte überarbeitet das Fehlerhandling so, dass bei solch kapitalen Fehlern der Shop auch einen entsprechenden HTTP-Statuscode ausgibt.
 

Xantiva

Sehr aktives Mitglied
28. August 2016
1.795
316
Düsseldorf
Konnte mit dem Support geklärt werden:

Es gibt bereits einen Fix im 4.06 Build 16, der betroffene Shop hat zufälligerweise "nur" Build 15.
 

Ähnliche Themen