TsgcWebSocketHTTPServerEreignisse › OnAfterForwardHTTP

OnAfterForwardHTTP Ereignis

Wird ausgelöst, nachdem eine HTTP-Anfrage weitergeleitet wurde, sodass die Anwendung das Ergebnis oder einen vom Upstream-Server zurückgegebenen Fehler prüfen kann.

Syntax

property OnAfterForwardHTTP: TsgcWSOnAfterForwardHTTP;
// TsgcWSOnAfterForwardHTTP = procedure(Connection: TsgcWSConnection; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo; E: Exception) of object

Standardwert

Hinweise

OnAfterForwardHTTP wird ausgelöst, sobald OnBeforeForwardHTTP die Weiterleitung aktiviert hat und die Upstream-HTTP-Anfrage abgeschlossen wurde. ARequestInfo ist die ursprüngliche Client-Anfrage, AResponseInfo ist die Antwort, die zurückgeschrieben werden soll (ResponseNo, ContentType, ContentText...), wie sie vom Upstream-Server befüllt wurde, und E ist entweder nil bei Erfolg oder die Ausnahme, die beim Kontaktieren des Zielservers ausgelöst wurde. Verwenden Sie das Ereignis, um das Ergebnis zu protokollieren, Antwort-Header/-Body neu zu schreiben, bevor sie an den Client zurückgegeben werden, oder die Antwort mit einer benutzerdefinierten Fehlerseite zu überschreiben, wenn der Upstream-Aufruf fehlgeschlagen ist.

Beispiel


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;

Zurück zu Ereignissen