TsgcWebSocketHTTPServerイベント › OnBeforeForwardHTTP

OnBeforeForwardHTTP イベント

HTTP リクエストが送信される前に発火し、別の HTTP サーバーへ転送(リバースプロキシ)できるようにします。

構文

property OnBeforeForwardHTTP: TsgcWSOnBeforeForwardHTTP;
// TsgcWSOnBeforeForwardHTTP = procedure(Connection: TsgcWSConnection; ARequestInfo: TIdHTTPRequestInfo; aForward: TsgcWSServerForwardHTTP) of object

デフォルト値

解説

OnBeforeForwardHTTP はすべてのHTTPリクエストに対して発火し、サーバーが選択されたエンドポイントのリバースプロキシとして機能できるようにします。ARequestInfo.Document を調べてリクエストを転送する必要があるかどうかを判断し、転送が必要な場合は aForward.Enabled を True に設定し、aForward.URL にターゲットサーバーを割り当てます。aForward オブジェクトの追加プロパティで転送されたリクエストを細かく調整できます。Document(ターゲットパスのオーバーライド)、QueryParams、Host、Origin、CustomHeaders、LogFilename、NoCache、HTTPSターゲット用の TLSOptions などです。aForward.Enabled が False のままの場合、リクエストは通常通り OnCommandGet/OnCommandOther を通じてローカルで処理されます。

使用例


procedure OnBeforeForwardHTTP(Connection: TsgcWSConnection; ARequestInfo: TIdHTTPRequestInfo;
  aForward: TsgcWSServerForwardHTTP);
begin
  if ARequestInfo.Document = '/internal' then
  begin
    aForward.Enabled := True;
    aForward.URL := 'http://localhost:8080';
  end;
end;

イベントに戻る