TsgcWebSocketHTTPServerEvents › 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;

返回事件