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 OnAfterForwardHTTP: TsgcWSOnAfterForwardHTTP;
// TsgcWSOnAfterForwardHTTP = procedure(Connection: TsgcWSConnection; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo; E: Exception) of object

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


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;

Terug naar Events