TsgcWebSocketHTTPServerGebeurtenissen › OnAfterForwardHTTP

OnAfterForwardHTTP Gebeurtenis

Wordt geactiveerd nadat een HTTP-verzoek is doorgestuurd, zodat de applicatie het resultaat of een door de upstream-server geretourneerde fout kan inspecteren.

Syntaxis

__property TsgcWSOnAfterForwardHTTP OnAfterForwardHTTP;
// typedef void __fastcall (__closure *TsgcWSOnAfterForwardHTTP)(TsgcWSConnection * Connection, TIdHTTPRequestInfo * ARequestInfo, TIdHTTPResponseInfo * AResponseInfo, Exception E);

Standaardwaarde

Opmerkingen

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.

Voorbeeld


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));
}

Terug naar Events