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:
id
StringEine eindeutige ID zur Kennzeichnung des Requests.
method
StringDie HTTP-Methode über die das Anzeige-Template aufgerufen wurde. Dies kann entweder
"get"
oder"post"
sein.url
StringDie vollständige Request-URL (mit Query-String).
headers
Dictionary(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.cookies
Dictionary(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.params
Dictionary(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 Wertnormal
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>
seq
Methode() ➝ 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.