TsgcWebSocketLoadBalancerServer › Events › OnHandshake
Wywoływane po weryfikacji przez load balancer przychodzącego uzgadniania WebSocket, a przed zwróceniem odpowiedzi HTTP.
property OnHandshake: TsgcWSHandshakeEvent;
// TsgcWSHandshakeEvent = procedure(Connection: TsgcWSConnection; var Headers: TStringList) of object
—
Zdarzenie OnHandshake jest dziedziczone z serwera HTTP i wywoływane po sparsowaniu przychodzącego żądania HTTP Upgrade, tuż przed wysłaniem odpowiedzi. Nagłówki przychodzącego żądania są dostępne przez właściwość HeadersRequest połączenia (rzutowanego na TsgcWSConnectionServer); lista Headers, którą otrzymujesz, zawiera linie odpowiedzi wysyłane do peera i może być uzupełniana o niestandardowe nagłówki. Standardowe nagłówki WebSocket są już obecne i nie mogą być powielane. Zdarzenie jest wywoływane zarówno dla klientów podrzędnych, jak i dla serwerów backend rejestrujących się przez moduł równoważenia obciążenia, dlatego należy sprawdzić Connection.URL, aby rozróżnić oba przypadki.
procedure OnHandshake(Connection: TsgcWSConnection; var Headers: TStringList);
begin
Headers.Add('X-LoadBalancer: sgcWebSockets');
end;