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:
idStringEine eindeutige ID zur Kennzeichnung des Requests.
methodStringDie HTTP-Methode über die das Anzeige-Template aufgerufen wurde. Dies kann entweder
"get"oder"post"sein.urlStringDie 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.8Bemerkung
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
custombeginnt. 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-cookieaus.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 Wertnormalaus.Wenn über ein Formular mit dem
enctypemultipart/form-dataeine 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() ➝ NumberGibt 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.