CX_HTTP_RESPONSE
Klassenhierarchie
- CX_CLASS
- CX_HTTP_RESPONSE 159571
Beschreibung:
Klasse, um im InstantView-Code die eine HTTP-Response (bestehend aus Statuscode, Header und Body) über Methodenaufrufe zusammenzusetzen. Der Webservice-Server erwartet am Ende einer Message, die einen HTTP-Request behandlet, entweder einen String der mit ReturnStack zurückgegeben und implizit in ein HTTP-Response-Objekt mit Statuscode 200 umgewandlet wird. Altenativ kann ein CX_HTTP_RESPONSE-Objekt mit ReturnStack direkt zurückgegeben werden.
Wird ein HTTP-Request über SendRequest gesendet, dann wird die Antwort des Servers als CX_HTTP_RESPONSE-Objekt auf den Stack gelegt.
Die Spezifikation eines HTTP-Response findet sich unter http://tools.ietf.org/html/rfc2616#section-6
Code-Beispiel:
Eingehender GET-Request
Implementierung der Message (die zwei Makros "GetPersonFromName" und "FormatPersonAsJSON" werden als implementiert angenommen):
CALL_PERSON_GET: "person_name" Swap Call(GetParameter) GetPersonFromName FormatPersonAsJSON -> jsonReturnValue
CreateTransObject(CX_HTTP_RESPONSE) -> response
jsonReturnValue response Call(SetBody)
"Content-Type" "application/json" response Call(SetHeader)
"Server" "ClassiX/4.5.2" response Call(SetHeader)
200 response Call(SetStatus) // not actually neccessary, as this is already the default
response ReturnStack
Hieraus resultiert nun der folgende ausgehende HTTP-Response:
Date: Thu, 15 Jul 2004 19:20:21 GMT
Content-length: 42
Content-type: application/json
Connection: close
Server: ClassiX/4.5.2
{ "vorname" : "Hugo", "name" : "Schmidt" }
Funktion | MA* | Parameter | Rückgabe | Kurzbeschreibung |
---|---|---|---|---|
GetBody | STRING | Gibt den Reponse-Body zurück | ||
GetBodyAsBase64 222628 |
STRING | Gibt den Response-Body als Base64-kodierten String zurück | ||
GetBodyAsFile 222628 |
STRING | Schreibt den Response-Body in die angegebene Datei | ||
GetHeader | STRING | STRING | Gibt den Header des Response-Objekts zurück | |
GetHeaderNames |
|
Liefert die Namen aller gesetzten Header | ||
GetStatus | INTEGER | Liefert den gesetzten HTTP Status | ||
GetTime | CX_DATETIME | Gibt den Zeitpunkt zurück, an dem die Anfrage vollständig abgearbeitet ist | ||
SetBody | STRING | Legt den Body des Response fest | ||
SetBodyFromBase64 222628 |
STRING | Setzt den Response-Body aus einem Base64-kodierten String | ||
SetBodyFromFile 222628 |
STRING | Setzt den Response-Body aus dem Inhalt der übergebenen Datei | ||
SetHeader | STRING, STRING | Legt für ein Headerfeld den Wert fest | ||
SetStatus | INTEGER | Legt den Statuscode des Response fest |
* MA = Member-Access-Funktion,
grau unterlegt = geerbte Funktion
Datenfeld | Typ | Referenz-Klasse | I* | Kurzbeschreibung |
---|---|---|---|---|
status | INTEGER | HTTP-Status der Response |
* I = Indizierbares Datenfeld,
grau unterlegt = geerbtes Datenfeld
Modul | Kurzbeschreibung |
---|---|