TsgcWebSocketProxyServer › Événements › OnHandshake
Se déclenche après l'évaluation de la poignée de main avec un client en aval et avant l'envoi de la réponse.
property OnHandshake: TsgcWSHandshakeEvent;
// TsgcWSHandshakeEvent = procedure(Connection: TsgcWSConnection; var Headers: TStringList) of object
—
OnHandshake est déclenché immédiatement après qu'une requête de mise à niveau HTTP d'un client en aval a été analysée et validée, et avant que la réponse au handshake ne soit rédigée. Les en-têtes entrants envoyés par le client sont accessibles via la propriété HeadersRequest de la connexion (convertie en TsgcWSConnectionServer). Le paramètre Headers est une TStringList contenant les lignes de réponse qui seront renvoyées ; ajoutez des lignes personnalisées (par exemple un en-tête spécifique au fournisseur) pour les inclure dans la réponse HTTP. Les en-têtes WebSocket standard (Upgrade, Connection, Sec-WebSocket-Accept...) sont déjà renseignés et ne doivent pas être dupliqués. Cet événement s'applique uniquement au tronçon WebSocket en aval ; le proxy n'effectue pas de handshake WebSocket contre le serveur TCP en amont.
procedure OnServerHandshake(Connection: TsgcWSConnection; var Headers: TStringList);
begin
ShowMessage(TsgcWSConnectionServer(Connection).HeadersRequest.Text);
end;