TsgcWebSocketServer_HTTPAPI › イベント › OnHandshake
サーバー側でハンドシェイクが評価された後、レスポンスが送信される前に発生します。
property OnHandshake: TsgcWSHandshakeEvent;
// TsgcWSHandshakeEvent = procedure(Connection: TsgcWSConnection; var Headers: TStringList) of object
—
OnHandshake は、クライアントの HTTP アップグレードリクエストが HTTP.SYS によって解析および検証された直後、ハンドシェイクレスポンスが書き返される前に、サーバー上で発生します。クライアントから送信された受信ヘッダーは、接続の HeadersRequest プロパティ(TsgcWSConnection_HTTPAPI にキャスト)を通じて利用できます。Headers パラメータは返されるレスポンスラインを含む TStringList です。カスタムラインを追加(例:ベンダー固有のヘッダー)すると HTTP レスポンスに含まれます。標準の WebSocket ヘッダー(Upgrade、Connection、Sec-WebSocket-Accept など)はすでに設定されているため、重複させないでください。
procedure OnServerHandshake(Connection: TsgcWSConnection; var Headers: TStringList);
begin
ShowMessage(TsgcWSConnection_HTTPAPI(Connection).HeadersRequest.Text);
end;