TsgcWebSocketServer › イベント › 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 など)はすでに設定されているため、重複させないでください。
procedure OnServerHandshake(Connection: TsgcWSConnection; var Headers: TStringList);
begin
ShowMessage(TsgcWSConnectionServer(Connection).HeadersRequest.Text);
end;