TsgcWebSocketServer_HTTPAPI › Ereignisse › OnAfterForwardHTTP
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.
property OnAfterForwardHTTP: TsgcWSHTTPAPIAfterForwardHTTP;
// TsgcWSHTTPAPIAfterForwardHTTP = procedure(Connection: TsgcWSConnection; aRequestInfo: THttpServerRequest; var aResponseInfo: THttpServerResponse; E: Exception) of object
—
OnAfterForwardHTTP wird ausgelöst, sobald OnBeforeForwardHTTP die Weiterleitung aktiviert hat und die vorgelagerte HTTP-Anfrage abgeschlossen ist. aRequestInfo ist die ursprüngliche Client-Anfrage, aResponseInfo ist die Antwort, die an den Client zurückgeschrieben werden soll (ResponseNo, ContentType, ContentText...), wie sie vom vorgelagerten Server befüllt wurde, und E ist entweder nil bei Erfolg oder die Exception, 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 durch eine benutzerdefinierte Fehlerseite zu überschreiben, wenn der vorgelagerte Aufruf fehlgeschlagen ist.
procedure OnAfterForwardHTTP(Connection: TsgcWSConnection;
aRequestInfo: THttpServerRequest; var aResponseInfo: THttpServerResponse;
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;