TsgcWebSocketServer_HTTPAPI › Eventos › 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: TsgcWSHTTPAPIBeforeForwardHTTP;
// TsgcWSHTTPAPIBeforeForwardHTTP = procedure(Connection : TsgcWSConnection_HTTPAPI; aRequestInfo: THttpServerRequest; aForward: TsgcWSServerForwardHTTP) of object
—
OnBeforeForwardHTTP é gerado para cada requisição HTTP recebida através do HTTP.SYS e permite que o servidor atue como um proxy reverso 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 (substitui 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 OnHTTPRequest, como de costume.
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;