Einfügen von benutzerdefinierten Daten in Websocket-Client-Header

Durch die Anpassung von WebSocket-Client-Headern können Sie spezifische Informationen, Präferenzen oder Anforderungen in den WebSocket-Verbindungsaufbau integrieren.

Ab 4D v20 R3 können Sie Sicherheitsinformationen, anwendungsspezifische Daten oder andere Daten, die für die Serververbindung relevant sind, über WebSocket Client Header übertragen.

Hier finden Sie alles, was Sie dazu wissen müssen!

Wie im Blogbeitrag zum Websocket-Client beschrieben, müssen Sie eine Klasse zur Verwaltung der Websocket-Ereignisse erstellen.

Diese Klasse unterstützt ein neues Attribut, headers, das ein Objekt ist, bei dem die Attribute folgende Syntax haben: headers.key:=value.

Wenn Sie zum Beispiel ein Autorisierungs-Token an den Server übermitteln wollen, müssen Sie eine Klasse erstellen, die wir WSConnectionHandler-Klasse nennen:

Class constructor($myToken:Text)

// Creation of the headers sent to the server
This.headers:=New object ("x-authorization";$myToken)
// Cookie header should use this syntax:
This.headers.Cookie:="yummy_cookie=choco; tasty_cookie=strawberry"

Function onMessage($ws : Object; $event : Object)
   Form.messages.push($event.data)

Function onTerminate($ws : Object; $event : Object)
   Form.messages.push("Connection closed")
   

Weitere Einzelheiten finden Sie in der Dokumentation! Und beteiligen Sie sich an der Diskussion in den 4D Foren.

Fabrice Mainguené
- Product Owner -Fabrice Mainguené gehört seit November 2016 zum 4D Program Team. Als Product Owner ist er verantwortlich für das Schreiben der User Stories und deren Umsetzung in funktionale Spezifikationen. Seine Aufgabe ist es auch, sicherzustellen, dass die gelieferte Funktionsimplementierung den Kundenanforderungen entspricht.Nach seinem Bachelor-Abschluss in Informatik am CNAM arbeitete Fabrice als Windev-Entwickler bei einem kleinen Software-Verlag. Danach arbeitete er für verschiedene Unternehmen in Industrie und Handel als Windev- und Webentwickler sowie als technischer Berater für neue Funktionen.