TsgcWebSocketHTTPServer › Events › OnBeforeForwardHTTP
Dispara antes de uma requisição HTTP ser despachada, de modo que ela possa ser encaminhada (reverse-proxy) a outro servidor HTTP.
property OnBeforeForwardHTTP: TsgcWSOnBeforeForwardHTTP;
// TsgcWSOnBeforeForwardHTTP = procedure(Connection: TsgcWSConnection; ARequestInfo: TIdHTTPRequestInfo; aForward: TsgcWSServerForwardHTTP) of object
—
OnBeforeForwardHTTP é gerado para cada requisição HTTP e permite que o servidor atue como um reverse proxy para endpoints selecionados. Inspecione ARequestInfo.Document para decidir se a requisição deve ser encaminhada; quando deve, defina aForward.Enabled como True e atribua aForward.URL ao servidor de destino. Propriedades adicionais no objeto aForward ajustam a requisição encaminhada: Document (sobrepõe o caminho de destino), QueryParams, Host, Origin, CustomHeaders, LogFilename, NoCache e TLSOptions para destinos HTTPS. Quando aForward.Enabled permanece False, a requisição é atendida localmente através de OnCommandGet/OnCommandOther como de costume.
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;