TsgcWebSocketProxyServer › イベント › OnHandshake

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;

イベントに戻る