TsgcWebSocketLoadBalancerServer › 이벤트 › OnHandshake
로드 밸런서가 수신 WebSocket 핸드셰이크를 검증한 후 HTTP 응답이 반환되기 전에 발생합니다.
property OnHandshake: TsgcWSHandshakeEvent;
// TsgcWSHandshakeEvent = procedure(Connection: TsgcWSConnection; var Headers: TStringList) of object
—
OnHandshake는 HTTP 서버에서 상속되며 들어오는 HTTP Upgrade 요청이 파싱되어 응답하려고 할 때 발생합니다. 들어오는 요청 헤더는 연결의 HeadersRequest 속성(TsgcWSConnectionServer로 캐스팅)을 통해 사용할 수 있습니다. 수신하는 Headers 목록에는 피어로 전송될 응답 줄이 포함되어 있으며 사용자 지정 헤더로 보강할 수 있습니다. 표준 WebSocket 헤더는 이미 존재하므로 중복되어서는 안 됩니다. 이 이벤트는 다운스트림 클라이언트와 로드 밸런서를 통해 등록하는 백엔드 서버 모두에 대해 발생하므로, 두 경로를 구분해야 하는 경우 Connection.URL을 확인하십시오.
procedure OnHandshake(Connection: TsgcWSConnection; var Headers: TStringList);
begin
Headers.Add('X-LoadBalancer: sgcWebSockets');
end;