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 TsgcWSOnAfterForwardHTTP OnAfterForwardHTTP;
// typedef void __fastcall (__closure *TsgcWSOnAfterForwardHTTP)(TsgcWSConnection * Connection, TIdHTTPRequestInfo * ARequestInfo, TIdHTTPResponseInfo * AResponseInfo, Exception E);
—
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.
void OnAfterForwardHTTP(TsgcWSConnection *Connection, TIdHTTPRequestInfo *ARequestInfo,
TIdHTTPResponseInfo *AResponseInfo, Exception *E)
{
if (E != NULL)
{
AResponseInfo->ResponseNo = 502;
AResponseInfo->ContentText = "Upstream error: " + E->Message;
}
else
Log("forwarded " + ARequestInfo->Document + " -> " + IntToStr(AResponseInfo->ResponseNo));
}