TsgcWebSocketProxyServer › イベント › OnHandshake
ダウンストリームクライアントとのハンドシェイクが評価された後、レスポンスが送信される前に発生します。
property OnHandshake: TsgcWSHandshakeEvent;
// TsgcWSHandshakeEvent = procedure(Connection: TsgcWSConnection; var Headers: TStringList) of object
—
OnHandshakeは、ダウンストリームクライアントのHTTPアップグレード要求が解析・検証された直後、ハンドシェイク応答が書き戻される前に発生します。クライアントから送信された受信ヘッダーは、接続のHeadersRequestプロパティ(TsgcWSConnectionServerにキャスト)を通じて利用できます。Headersパラメータは、返される応答行を含むTStringListです。カスタム行(例: ベンダー固有のヘッダー)を追加すると、HTTP応答に含められます。標準のWebSocketヘッダー(Upgrade、Connection、Sec-WebSocket-Acceptなど)はすでに設定済みであり、重複させてはいけません。このイベントはダウンストリームのWebSocketレッグにのみ適用されます。プロキシは、アップストリームのTCPサーバーに対してWebSocketハンドシェイクを実行しません。
procedure OnServerHandshake(Connection: TsgcWSConnection; var Headers: TStringList);
begin
ShowMessage(TsgcWSConnectionServer(Connection).HeadersRequest.Text);
end;