TsgcWebSocketLoadBalancerServer › Eventi › OnHandshake
Si genera dopo che il bilanciatore del carico ha validato un handshake WebSocket in entrata e prima che venga restituita la risposta HTTP.
property OnHandshake: TsgcWSHandshakeEvent;
// TsgcWSHandshakeEvent = procedure(Connection: TsgcWSConnection; var Headers: TStringList) of object
—
OnHandshake è ereditato dal server HTTP e viene generato quando la richiesta HTTP Upgrade in entrata è stata analizzata e sta per ricevere risposta. Le intestazioni della richiesta in entrata sono disponibili tramite la proprietà HeadersRequest della connessione (eseguire il cast a TsgcWSConnectionServer); la lista Headers ricevuta contiene le righe di risposta che verranno inviate al peer e può essere arricchita con intestazioni personalizzate. Le intestazioni WebSocket standard sono già presenti e non devono essere duplicate. L'evento si attiva sia per i client downstream che per i server backend che si registrano tramite il load balancer, quindi verificare Connection.URL se è necessario distinguere i due percorsi.
procedure OnHandshake(Connection: TsgcWSConnection; var Headers: TStringList);
begin
Headers.Add('X-LoadBalancer: sgcWebSockets');
end;