TsgcWebSocketServer_HTTPAPI › イベント › 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;