Iniettare dati personalizzati nelle intestazioni dei client Websocket

Tradotto automaticamente da Deepl

La personalizzazione delle intestazioni client WebSocket consente di iniettare informazioni, preferenze o requisiti specifici nel processo di creazione della connessione WebSocket.

A partire da 4D v20 R3, è possibile trasmettere informazioni sulla sicurezza, dati specifici dell’applicazione o altri dati rilevanti per la connessione al server attraverso le intestazioni del client WebSocket.

Ecco tutto quello che c’è da sapere!

Come descritto nel post sul blog Websocket client, è necessario creare una classe per gestire gli eventi websocket.

Questa classe supporta un nuovo attributo, headers, che è un oggetto in cui gli attributi hanno questa sintassi: headers.key:=value.

Ad esempio, se si vuole trasmettere un token di autorizzazione al server, è necessario creare una classe che chiameremo WSConnectionHandler:

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")
   

Per maggiori dettagli, consultare la documentazione! E sentitevi liberi di partecipare alla discussione sui forum 4D.

Fabrice Mainguené
- Product Owner -Fabrice Mainguené si è unito al team di 4D Program nel novembre 2016. In qualità di Product Owner, è incaricato di scrivere le storie degli utenti e di tradurle in specifiche funzionali. Il suo ruolo è anche quello di assicurarsi che l'implementazione della funzionalità fornita soddisfi le esigenze del cliente.Dopo aver conseguito una laurea in Informatica presso il CNAM, Fabrice è entrato a far parte di una piccola società di pubblicazione di software come sviluppatore Windev. In seguito ha lavorato per diverse aziende del settore industriale e commerciale come sviluppatore Windev e web e come consulente tecnico su nuove funzionalità.