TsgcWebSocketServer_HTTPAPI › É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: TsgcWSHTTPAPIBeforeForwardHTTP;
// TsgcWSHTTPAPIBeforeForwardHTTP = procedure(Connection : TsgcWSConnection_HTTPAPI; aRequestInfo: THttpServerRequest; aForward: TsgcWSServerForwardHTTP) of object
—
OnBeforeForwardHTTP est déclenché pour chaque requête HTTP reçue via HTTP.SYS et permet au serveur d'agir comme un proxy inverse pour les endpoints 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 à 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 servie localement via OnHTTPRequest comme d'habitude.
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;