TsgcWebSocketHTTPServer › Événements › OnBeforeForwardHTTP
Se déclenche avant qu'une requête HTTP soit transmise afin qu'elle puisse être transférée (proxy inverse) vers un autre serveur HTTP.
property OnBeforeForwardHTTP: TsgcWSOnBeforeForwardHTTP;
// TsgcWSOnBeforeForwardHTTP = procedure(Connection: TsgcWSConnection; ARequestInfo: TIdHTTPRequestInfo; aForward: TsgcWSServerForwardHTTP) of object
—
OnBeforeForwardHTTP est déclenché pour chaque requête HTTP et permet au serveur d'agir comme proxy inverse pour les points de terminaison sélectionnés. Inspectez ARequestInfo.Document pour décider si la requête doit être transmise ; si c'est le cas, définissez aForward.Enabled sur True et assignez aForward.URL au serveur cible. Des propriétés supplémentaires sur l'objet aForward affinent la requête transmise : Document (remplacer le chemin cible), QueryParams, Host, Origin, CustomHeaders, LogFilename, NoCache et TLSOptions pour les cibles HTTPS. Lorsque aForward.Enabled reste False, la requête est traitée localement via OnCommandGet/OnCommandOther comme d'habitude.
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;