Neuer HTTP-Client in womodo 7.7.2

2. September 2019

Die Verwendung des bestehenden HTTP-Clients ist mehr als kompliziert:

WGA.createHttpClient() liefert ein Java-Objekt der Klasse "Jakarta Commons HTTP Client". Der Umgang mit diesem Java-Objekt ist für TMLScript-Entwickler eine Qual.

Aus diesem Grund stellen wir in womodo 7.7.2 nun einen einfach zu verwenden "Wrapper" für dieses Objekt zur Verfügung.

Den neuen HTTP-Client erhält man über den Aufruf

var client = WGA.HttpClient(url)

An diesem Client stehen Methoden get(), post(data), put(data) und delete() zur Verfügung, die jeweils den HTTP-Status Code zurück liefern.

Alle 4 Methoden können mit einer Callback-Funktion als Parameter aufgerufen werden, über die die Antwort des Servers gelesen werden kann. Dazu wird die Callback-Funktion mit einem Result-Objekt aufgerufen, das die Daten u. A. über folgende Eigenschaften zur Verfügung stellt:

  • status (der HTTP-Status-Code der Anfrage)
  • text (die Antwort des aufgerufenen Servers als Text).
  • inputStream (ein Input-Stream, um binäre Daten zu lesen)

Beispiel:

// a simple get request
WGA.HttpClient("http://some-domain.com").get(function(result){
if(result.status==200)
console.log("Result ist", result.text)
else console.error("HTTP-Error", result.status)
})

// a simple post request
WGA.HttpClient("http://some-domain.com").post("Hallo Düsseldorf")

Darüber hinaus haben wir die Methoden

  • setRequestHeader(key, value)
  • setRequestHeaders(map)
  • setCredentials(username, password)

implementiert, mit dem optional beliebige HTTP Request Header gesetzt werden können.

Beispiel: Ein get() request mit Authentifizierung:

WGA.HttpClient("http://some-domain.com")
.setCredentials("walter", "wichtig")
.get(function(result){...})

Die komplette Dokumentation des neuen HTTP-Clients finden Sie in der womodo 7.7 online Doku.