TsgcWebSocketServer_HTTPAPI › 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 TsgcWSHTTPAPIAfterForwardHTTP OnAfterForwardHTTP;
// typedef void __fastcall (__closure *TsgcWSHTTPAPIAfterForwardHTTP)(TsgcWSConnection * Connection, THttpServerRequest aRequestInfo, THttpServerResponse &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 op het punt staat teruggeschreven te worden naar de client (ResponseNo, ContentType, ContentText...) zoals gevuld vanuit de upstream-server, en E is nil bij succes of de uitzondering die is gegenereerd terwijl de doelserver werd gecontacteerd. Gebruik de gebeurtenis om de uitkomst te loggen, antwoordheaders/body te herschrijven voordat ze naar de client worden geretourneerd, of het antwoord te overschrijven met een aangepaste foutpagina wanneer de upstream-aanroep mislukt.
void OnAfterForwardHTTP(TsgcWSConnection *Connection,
THttpServerRequest aRequestInfo, THttpServerResponse &aResponseInfo,
Exception *E)
{
if (E != NULL)
{
aResponseInfo.ResponseNo = 502;
aResponseInfo.ContentText = "Upstream error: " + E->Message;
}
else
Log("forwarded " + aRequestInfo.Document + " -> " + IntToStr(aResponseInfo.ResponseNo));
}