HTTPRequest

Ein HTTPRequest-Objekt beinhaltet Informationen über die HTTP-Anfrage über die das Anzeige-Template aufgerufen wurde und ist zugänglich als globals.request. Es besitzt folgende Attribute:

idString

Eine eindeutige ID zur Kennzeichnung des Requests.

methodString

Die HTTP-Methode über die das Anzeige-Template aufgerufen wurde. Dies kann entweder "get" oder "post" sein.

urlString

Die vollständige Request-URL (mit Query-String).

headersDictionary(String ➝ String)

Die HTTP-Header, die bei der HTTP-Anfrage übergeben wurden. Die Dictionary-Schlüssel sind die Header-Namen (Groß-/Kleinschreibung wird dabei ignoriert) und die Werte sind die Werte der Header. Beispielsweise gibt

<?print globals.request.headers["Accept"]?>

folgendes aus:

text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8

Bemerkung

Cookies werden speziell behandelt. Der Mechanismus, für das Setzen von Cookies wird unter HTTPResponse::headers beschrieben. Falls per JavaScript Cookies gesetzt wurden, so sind nur diejenigen vorhanden, deren Namen mit custom beginnt. Alle anderen Cookies werden herausgefiltert.

cookiesDictionary(String ➝ String)

Die Cookies, die bei der HTTP-Anfrage übergeben wurden. Es sind lediglich diejenigen Cookies enthalten, die auch von dieser App gesetzt wurden. Beispielsweise gibt

<?print globals.request.cookies["my-cookie"]?>

den Wert des im letzten Response gesetzten Cookies my-cookie aus.

paramsDictionary(String ➝ (String oder File))

Die Parameter, die bei der HTTP-Anfrage übergeben wurden. Beispielsweise gibt bei folgender URL

http://my.living-apps.de/gateway/apps/1234567890abcdef1234567890abcd/fedcba0987654321fedcba09876543?template=gurk&modus=normal

der Ausdruck <?print globals.request.params.modus?> den Wert normal aus.

Wenn über ein Formular mit dem enctype multipart/form-data eine Datei hochgeladen wurde, so ist der Wert des entsprechenden Parameters ein File-Objekt. Diese Objekt kann dann z.B. direkt benutzt werden um einen Datensatz anzulegen:

<?code personapp.insert(
   firstname=globals.request.params.firstname,
   lastname=globals.request.params.lastname,
   portrait=globals.request.params.portrait,
)?>

dabei wurde dann z.B. folgendes Formular verwendet:

<form enctype="multipart/form-data" method="post" action="/gateway/apps/1234567890abcdef1234567890abcd">
   <input type="hidden" name="template" value="gurk">
   <label>First name <input type="text" name="firstname" /></label>
   <label>Last name <input type="text" name="lastname" /></label>
   <label>Portrait <input type="file" name="portrait" /></label>
</form>
seqMethode() ➝ Number

Gibt einen fortlaufenden Integer-Wert zurück, der innerhalb des Requests eindeutig ist.

Dies kann z.B. dazu verwendet werden um für HTML-Seiten-Elemente eindeutige IDs zu erzeugen.