TsgcWebSocketHTTPServer › イベント › 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;