TsgcWebSocketHTTPServer › Gebeurtenissen › OnAfterForwardHTTP
Wordt geactiveerd nadat een HTTP-verzoek is doorgestuurd, zodat de applicatie het resultaat of een door de upstream-server geretourneerde fout kan inspecteren.
property OnAfterForwardHTTP: TsgcWSOnAfterForwardHTTP;
// TsgcWSOnAfterForwardHTTP = procedure(Connection: TsgcWSConnection; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo; E: Exception) of object
—
OnAfterForwardHTTP wordt geactiveerd zodra OnBeforeForwardHTTP forwarding heeft ingeschakeld en het upstream HTTP-verzoek is voltooid. ARequestInfo is het originele clientverzoek, AResponseInfo is het antwoord dat teruggeschreven gaat worden (ResponseNo, ContentType, ContentText...) zoals ingevuld door de upstream-server, en E is nil bij succes of de uitzondering die werd gegenereerd tijdens het contact opnemen met de doelserver. Gebruik de gebeurtenis om het resultaat te loggen, antwoordheaders/-body te herschrijven voordat ze worden teruggestuurd naar de client, of het antwoord te overschrijven met een aangepaste foutpagina wanneer de upstream-aanroep is mislukt.
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;