TsgcWebSocketHTTPServer › イベント

TsgcWebSocketHTTPServer イベント

処理可能なイベントを目的別にグループ化し、その後完全なアルファベット順リストを表示します。

ライフサイクル

名前説明
OnStartupサーバーが起動し、接続を受け付ける準備ができた後に発生します。
OnShutdownサーバーが停止し、それ以上接続が受け入れられなくなった後に発生します。
OnTCPConnectクライアントが TCP レベルで接続し WebSocket ハンドシェイクが行われる前に発生します。これにより接続を受け入れるか拒否するかを決定できます。
OnConnectクライアントとの WebSocket 接続が確立されるたびに発生します。
OnDisconnectクライアントとのWebSocket接続が切断されるたびに発生します。
OnHandshakeサーバー側でハンドシェイクが評価された後、レスポンスが送信される前に発生します。
OnError不正な形式のハンドシェイクなど、WebSocketプロトコルエラーが発生するたびに発生します。
OnExceptionクライアント接続の処理中に未処理の例外が発生するたびに発火します。
OnUnknownProtocol最初のメッセージが既知のプロトコルと一致しない場合に発生し、接続を受け入れるか拒否するかを決定できます。
OnUnknownAuthentication認証が有効になっており、認証メソッドがサーバーに認識されない場合に発生します。

データ

名前説明
OnMessageクライアントがテキストメッセージを送信してサーバーで受信されるたびに発生します。
OnBinaryクライアントがバイナリメッセージを送信してサーバーが受信するたびに発生します。
OnFragmentedメッセージのフラグメントが受信されたときに発生します (Options.FragmentedMessages が frgAll または frgOnlyFragmented の場合のみ)。

HTTP

名前説明
OnBeforeCommandOnCommandGetまたはOnCommandOtherの前に発生するため、リクエストをスクリーニング、認可、または401レスポンスでショートサーキットできます。
OnCommandGetHTTPサーバーがGET、POST、またはHEADリクエストを受信したときに発生し、アプリケーションがレスポンスを構築できるようにします。
OnCommandOtherHTTP サーバーが GET、POST、HEAD 以外のメソッド(PUT、DELETE、OPTIONS、PATCH...)を受信したときに発火します。
OnBeforeForwardHTTPHTTP リクエストが送信される前に発火し、別の HTTP サーバーへ転送(リバースプロキシ)できるようにします。
OnAfterForwardHTTPHTTPリクエストが転送された後に発生し、アプリケーションが結果や上流サーバーから返されたエラーを検査できるようにします。
OnHTTP2BeforeAsyncRequestHTTP/2 リクエストがキューに入れられる前に発生し、アプリケーションがスレッドプールで実行するか接続スレッドで実行するかを選択できます。

セッション

名前説明
OnCreateSessionHTTP サーバーが新しいセッションを作成する必要があるときに発生し、アプリケーションがカスタムの TIdHTTPSession インスタンスを提供できます。
OnSessionStartHTTP セッションが開始されて SessionList に追加されたときに発火します。
OnSessionEndHTTPセッションが明示的に、またはSessionTimeoutの期限切れ後に閉じられたときに発火します。
OnInvalidSessionHTTP リクエストが不明または期限切れのセッション ID を提示した際に、アプリケーションが対処方法を決定できるよう発火します。

HTTP アップロード

名前説明
OnHTTPUploadBeforeSaveFilemultipart/form-dataアップロードから抽出されたファイルがディスクに保存される前に発生するため、名前とパスをカスタマイズできます。
OnHTTPUploadAfterSaveFilemultipart/form-data アップロードから抽出されたファイルがディスクに保存された後に発生します。
OnHTTPUploadReadInputmultipart/form-data デコーダーがファイルではない入力フィールドを読み取ったときに発生し、その値をキャプチャできます。
OnHTTPUploadBeforeCreatePostStreamリクエストヘッダーが読み込まれた後、POST ストリームが作成される前に発火し、アップロードを受け入れるか拒否できます。

信頼性

名前説明
OnBeforeHeartBeat各 HeartBeat ping の前に発生し、アプリケーションがカスタムキープアライブを実装できるようにします。
OnLoadBalancerConnectサーバーがロードバランサーサーバーに接続したときに発生します。
OnLoadBalancerDisconnectサーバーがロードバランサーサーバーから切断されたときに発生します。
OnLoadBalancerErrorロードバランサーサーバーとの通信でエラーが発生したときに発火します。

セキュリティ

名前説明
OnAuthentication認証が有効になっているときに発生し、アプリケーションがユーザーとパスワードを確認して接続を受け入れるか拒否できます。
OnSSLGetHandlerSSL ハンドラーが作成される前に発生し、カスタムのサーバーサイドハンドラーインスタンスを提供できます。
OnSSLAfterCreateHandlerSSL ハンドラーが作成された後に発火し、そのプロパティをカスタマイズできます。
OnSSLALPNSelectALPN対応のハンドシェイク中に発生し、アプリケーションがネゴシエートするプロトコルを選択できるようにします。
OnSSLVerifyPeerVerifyCertificate が有効になっており、クライアントが受け入れまたは拒否される証明書を提示したときに発生します。

すべてのイベント (アルファベット順)

名前説明
OnAfterForwardHTTPHTTPリクエストが転送された後に発生し、アプリケーションが結果や上流サーバーから返されたエラーを検査できるようにします。
OnAuthentication認証が有効になっているときに発生し、アプリケーションがユーザーとパスワードを確認して接続を受け入れるか拒否できます。
OnBeforeCommandOnCommandGetまたはOnCommandOtherの前に発生するため、リクエストをスクリーニング、認可、または401レスポンスでショートサーキットできます。
OnBeforeForwardHTTPHTTP リクエストが送信される前に発火し、別の HTTP サーバーへ転送(リバースプロキシ)できるようにします。
OnBeforeHeartBeat各 HeartBeat ping の前に発生し、アプリケーションがカスタムキープアライブを実装できるようにします。
OnBinaryクライアントがバイナリメッセージを送信してサーバーが受信するたびに発生します。
OnCommandGetHTTPサーバーがGET、POST、またはHEADリクエストを受信したときに発生し、アプリケーションがレスポンスを構築できるようにします。
OnCommandOtherHTTP サーバーが GET、POST、HEAD 以外のメソッド(PUT、DELETE、OPTIONS、PATCH...)を受信したときに発火します。
OnConnectクライアントとの WebSocket 接続が確立されるたびに発生します。
OnCreateSessionHTTP サーバーが新しいセッションを作成する必要があるときに発生し、アプリケーションがカスタムの TIdHTTPSession インスタンスを提供できます。
OnDisconnectクライアントとのWebSocket接続が切断されるたびに発生します。
OnError不正な形式のハンドシェイクなど、WebSocketプロトコルエラーが発生するたびに発生します。
OnExceptionクライアント接続の処理中に未処理の例外が発生するたびに発火します。
OnFragmentedメッセージのフラグメントが受信されたときに発生します (Options.FragmentedMessages が frgAll または frgOnlyFragmented の場合のみ)。
OnHandshakeサーバー側でハンドシェイクが評価された後、レスポンスが送信される前に発生します。
OnHTTP2BeforeAsyncRequestHTTP/2 リクエストがキューに入れられる前に発生し、アプリケーションがスレッドプールで実行するか接続スレッドで実行するかを選択できます。
OnHTTPUploadAfterSaveFilemultipart/form-data アップロードから抽出されたファイルがディスクに保存された後に発生します。
OnHTTPUploadBeforeCreatePostStreamリクエストヘッダーが読み込まれた後、POST ストリームが作成される前に発火し、アップロードを受け入れるか拒否できます。
OnHTTPUploadBeforeSaveFilemultipart/form-dataアップロードから抽出されたファイルがディスクに保存される前に発生するため、名前とパスをカスタマイズできます。
OnHTTPUploadReadInputmultipart/form-data デコーダーがファイルではない入力フィールドを読み取ったときに発生し、その値をキャプチャできます。
OnInvalidSessionHTTP リクエストが不明または期限切れのセッション ID を提示した際に、アプリケーションが対処方法を決定できるよう発火します。
OnLoadBalancerConnectサーバーがロードバランサーサーバーに接続したときに発生します。
OnLoadBalancerDisconnectサーバーがロードバランサーサーバーから切断されたときに発生します。
OnLoadBalancerErrorロードバランサーサーバーとの通信でエラーが発生したときに発火します。
OnMessageクライアントがテキストメッセージを送信してサーバーで受信されるたびに発生します。
OnSessionEndHTTPセッションが明示的に、またはSessionTimeoutの期限切れ後に閉じられたときに発火します。
OnSessionStartHTTP セッションが開始されて SessionList に追加されたときに発火します。
OnShutdownサーバーが停止し、それ以上接続が受け入れられなくなった後に発生します。
OnSSLAfterCreateHandlerSSL ハンドラーが作成された後に発火し、そのプロパティをカスタマイズできます。
OnSSLALPNSelectALPN対応のハンドシェイク中に発生し、アプリケーションがネゴシエートするプロトコルを選択できるようにします。
OnSSLGetHandlerSSL ハンドラーが作成される前に発生し、カスタムのサーバーサイドハンドラーインスタンスを提供できます。
OnSSLVerifyPeerVerifyCertificate が有効になっており、クライアントが受け入れまたは拒否される証明書を提示したときに発生します。
OnStartupサーバーが起動し、接続を受け付ける準備ができた後に発生します。
OnTCPConnectクライアントが TCP レベルで接続し WebSocket ハンドシェイクが行われる前に発生します。これにより接続を受け入れるか拒否するかを決定できます。
OnUnknownAuthentication認証が有効になっており、認証メソッドがサーバーに認識されない場合に発生します。
OnUnknownProtocol最初のメッセージが既知のプロトコルと一致しない場合に発生し、接続を受け入れるか拒否するかを決定できます。