TsgcWebSocketServer_HTTPAPIイベント › OnBeforeForwardHTTP

OnBeforeForwardHTTP イベント

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

構文

property OnBeforeForwardHTTP: TsgcWSHTTPAPIBeforeForwardHTTP;
// TsgcWSHTTPAPIBeforeForwardHTTP = procedure(Connection : TsgcWSConnection_HTTPAPI; aRequestInfo: THttpServerRequest; aForward: TsgcWSServerForwardHTTP) of object

デフォルト値

解説

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

使用例


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

イベントに戻る