TsgcWebSocketServer_HTTPAPI › Events › OnAfterForwardHTTP
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.
property OnAfterForwardHTTP: TsgcWSHTTPAPIAfterForwardHTTP;
// TsgcWSHTTPAPIAfterForwardHTTP = procedure(Connection: TsgcWSConnection; aRequestInfo: THttpServerRequest; var aResponseInfo: THttpServerResponse; E: Exception) of object
—
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 client originale, aResponseInfo est la réponse sur le point d'être renvoyée au client (ResponseNo, ContentType, ContentText...) telle que peuplée 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 qu'ils ne soient retournés au client, ou remplacer la réponse par une page d'erreur personnalisée si l'appel en amont a échoué.
procedure OnAfterForwardHTTP(Connection: TsgcWSConnection;
aRequestInfo: THttpServerRequest; var aResponseInfo: THttpServerResponse;
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;