Responses

Um Header in brandbox einheitlich und geregelt versenden zu können, bietet brandbox eine Sammlung an "response"-Klassen an.

Aufbau

Alle Response-Objekte folgen dem Interface responseInterface und leiten von der abstrakten Klasse responseAbstract ab. Dies führt dazu, dass jedes Response-Objekt die Möglichkeiten bietet, Eigenschaften des zu versendenen Headers festzulegen (beispielsweise den Statuscode). Jedes Response-Objekt verfügt über die Eigenschaften $data und $params. Diese Parameter werden im Konstruktor von responseAbstract erwartet. Die Anfrage terminiert in der Regel, wenn ein Header über ein Reponse-Objekt versandt wird. Nähere Informationen zu den Response-Klassen sind in der folgenden Tabelle zu finden.

Response-Klassen

Klasse

Art der Antwort

Details

Klasse

Art der Antwort

Details

http/response/download.php

Download der beigefügten Datei

$data des Headers enthält den Pfad zur Datei

$params['method'] enthält die Methode des Downloads. Als Rückfall wird "attachment" gewählt.

http/response/encrypted.php

Liefert Daten verschlüsselt aus

$data wird anhand des Systemsweiten CryptoKeys verschlüsselt und ausgeliefert.

http/response/invalid.php

JSON Repräsentation einer Fehlermeldung

$data enthält die ID eines Fehlers. Diese ID wird mit "x-brandbox-" konkateniert. Das header.js kann mit diesem "x-brandbox-id"-String umgehen. Ist ein "alert"-Element im DOM platziert, wird dieses sichtbar gemacht (siehe https://getbootstrap.com/docs/4.0/components/alerts/).

http/response/json.php

JSON Repräsentation der Daten

$data wird json-kodiert und ausgeliefert. Der ContentType ist "application/json".

http/response/location.php

Location Header

$data enthält eine URL. Location.href wird zu dieser URL geändert.

http/response/message.php

Daten werden als brandbox-Message dargestellt

$data enthält den gewünschten Text.

$params enthält CSS-Klassen.

http/response/plain.php

Einfaches Ausliefern der Daten.

$data enthält die auszuliefernden Daten. Der ContentType ist "text/plain".

http/response/redirect.php

Weiterleitung auf eine URL.

$data enthält eine URL. Verschickt wird ein "x-brandbox-redirect" header. Das header.js ändert den Wert des HREF des aktuellen Dokuments.

http/response/routeToAdmin.php

Redirect oder Location auf /admin

Siehe Beschreibung von "http/reponse/location.php" bzw. "http/reponse/redirect.php".

$data ist die URL auf "/admin". Über routeToAdmin::setMethod() kann die Art der Umleitung gewählt werden (location oder redirect).

http/reponse/routeToUrl.php

Redirect oder Location auf die gewünschte URL.

Siehe Beschreibung von "http/reponse/location.php" bzw. "http/reponse/redirect.php".

$data ist die gewünschte URL. Über routeToUrl::setMethod() kann die Art der Umleitung gewählt werden (location oder redirect).

http/response/state.php

Versenden von zwei Statusheadern.

$data enthält die Bezeichnung (key) des Status.

$params[0] enthält den Wert des Status. Es wird jeweils ein Header gesendet; einer für den "Key", einer für den "Value". Das Programm wird nicht terminiert.

http/reponse/stateAttribute.php

Versenden eines Statusheaders.

Der Konstruktor weicht von der abstrakten Elternklasse ab. Die Signatur ist "stateAttribute::construct($data, $value)".

$data enthält die Bezeichnung (key) des Status.

$value enthält den Wert des Status. Es wird nur ein Header versandt. Das Programm wird nicht terminiert.

http/reponse/valid.php

Versenden eines Headers bei erfolgreicher Anfrage.

$data enthält die ID. Diese ID wird mit "y-brandbox-" konkateniert.

Ist die Anfrage erfolgreich, wird im DOM nach einem Element gesucht, das die Klasse "y-brandbox-id" besitzt. Existiert ein solches Element wird dieses sichtbar gemacht.