TsgcWebSocketServer_HTTPAPIÉvénements › OnBeforeForwardHTTP

OnBeforeForwardHTTP Événement

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.

Syntaxe

property OnBeforeForwardHTTP: TsgcWSHTTPAPIBeforeForwardHTTP;
// TsgcWSHTTPAPIBeforeForwardHTTP = procedure(Connection : TsgcWSConnection_HTTPAPI; aRequestInfo: THttpServerRequest; aForward: TsgcWSServerForwardHTTP) of object

Valeur par défaut

Remarques

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.

Exemple


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;

Retour aux événements