TsgcWebSocketHTTPServer › Events › OnAfterForwardHTTP
Viene attivato dopo che una richiesta HTTP è stata inoltrata, consentendo all'applicazione di ispezionare il risultato o un errore restituito dal server upstream.
property OnAfterForwardHTTP: TsgcWSOnAfterForwardHTTP;
// TsgcWSOnAfterForwardHTTP = procedure(Connection: TsgcWSConnection; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo; E: Exception) of object
—
OnAfterForwardHTTP viene generato una volta che OnBeforeForwardHTTP ha abilitato l'inoltro e la richiesta HTTP upstream è stata completata. ARequestInfo è la richiesta originale del client, AResponseInfo è la risposta che sta per essere scritta (ResponseNo, ContentType, ContentText...) così come popolata dal server upstream, e E è nil in caso di successo oppure l'eccezione generata durante il contatto con il server di destinazione. Utilizzare l'evento per registrare il risultato, riscrivere intestazioni/corpo della risposta prima che vengano restituiti al client, o sovrascrivere la risposta con una pagina di errore personalizzata quando la chiamata upstream ha avuto esito negativo.
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;