TsgcWebSocketHTTPServerイベント › 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...)はすでに設定されており、重複させないでください。このイベントは OnCommandGet によって処理されるプレーン HTTP リクエストには発生しません。

使用例


procedure OnServerHandshake(Connection: TsgcWSConnection; var Headers: TStringList);
begin
  ShowMessage(TsgcWSConnectionServer(Connection).HeadersRequest.Text);
end;

イベントに戻る