Lade...
 

CX_HTTP_RESPONSE

CX_HTTP_RESPONSE

Klassenhierarchie
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

GET /call_person?person_name=Schmidt

Implementierung der Message (die zwei Makros "GetPersonFromName" und "FormatPersonAsJSON" werden als implementiert angenommen):

Var(jsonReturnValue, response)

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:

HTTP/1.1 200 OK
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" }

 

Methodenverzeichnis (MDI)
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    
VECTOR<STRING>
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

 

Datenverzeichnis (DDI)
Datenfeld Typ Referenz-Klasse I* Kurzbeschreibung
status INTEGER     HTTP-Status der Response

* I = Indizierbares Datenfeld,
grau unterlegt = geerbtes Datenfeld

 

Verwendung in AppsWH
Modul Kurzbeschreibung