TsgcWebSocketHTTPServerÉvénements › OnAfterForwardHTTP

OnAfterForwardHTTP Event

Se déclenche après qu'une requête HTTP a été transférée afin que l'application puisse inspecter le résultat ou une erreur renvoyée par le serveur en amont.

Syntaxe

property OnAfterForwardHTTP: TsgcWSOnAfterForwardHTTP;
// TsgcWSOnAfterForwardHTTP = procedure(Connection: TsgcWSConnection; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo; E: Exception) of object

Valeur par défaut

Remarques

OnAfterForwardHTTP est déclenché une fois que OnBeforeForwardHTTP a activé le transfert et que la requête HTTP en amont est terminée. ARequestInfo est la requête originale du client, AResponseInfo est la réponse sur le point d'être écrite en retour (ResponseNo, ContentType, ContentText...) telle que remplie depuis le serveur en amont, et E est soit nil en cas de succès, soit l'exception levée lors du contact avec le serveur cible. Utilisez l'événement pour journaliser le résultat, réécrire les en-têtes/corps de réponse avant leur retour au client, ou remplacer la réponse par une page d'erreur personnalisée en cas d'échec de l'appel en amont.

Exemple


procedure OnAfterForwardHTTP(Connection: TsgcWSConnection; ARequestInfo: TIdHTTPRequestInfo;
  AResponseInfo: TIdHTTPResponseInfo; E: Exception);
begin
  if Assigned(E) then
  begin
    AResponseInfo.ResponseNo := 502;
    AResponseInfo.ContentText := 'Upstream error: ' + E.Message;
  end
  else
    Log(Format('forwarded %s -> %d', [ARequestInfo.Document, AResponseInfo.ResponseNo]));
end;

Retour aux événements