TsgcWebSocketLoadBalancerServer › Ereignisse › OnHandshake
Wird ausgelöst, nachdem der Load Balancer einen eingehenden WebSocket-Handshake validiert hat und bevor die HTTP-Response zurückgegeben wird.
property OnHandshake: TsgcWSHandshakeEvent;
// TsgcWSHandshakeEvent = procedure(Connection: TsgcWSConnection; var Headers: TStringList) of object
—
OnHandshake wird vom HTTP-Server geerbt und ausgelöst, wenn die eingehende HTTP-Upgrade-Anfrage geparst wurde und im Begriff ist, beantwortet zu werden. Die eingehenden Anfrage-Header sind über die Eigenschaft HeadersRequest der Verbindung verfügbar (gecastet auf TsgcWSConnectionServer); die Headers-Liste, die Sie erhalten, enthält die Antwortzeilen, die an den Peer gesendet werden, und kann mit benutzerdefinierten Headern ergänzt werden. Die Standard-WebSocket-Header sind bereits vorhanden und dürfen nicht dupliziert werden. Das Ereignis wird sowohl für nachgelagerte Clients als auch für Backend-Server ausgelöst, die sich über den Load Balancer registrieren, prüfen Sie also Connection.URL, wenn Sie die beiden Pfade unterscheiden müssen.
procedure OnHandshake(Connection: TsgcWSConnection; var Headers: TStringList);
begin
Headers.Add('X-LoadBalancer: sgcWebSockets');
end;