TsgcWebSocketHTTPServer › Eventos › OnAfterForwardHTTP
Disparado após uma requisição HTTP ter sido encaminhada para que a aplicação possa inspecionar o resultado ou um erro retornado pelo servidor upstream.
property OnAfterForwardHTTP: TsgcWSOnAfterForwardHTTP;
// TsgcWSOnAfterForwardHTTP = procedure(Connection: TsgcWSConnection; ARequestInfo: TIdHTTPRequestInfo; AResponseInfo: TIdHTTPResponseInfo; E: Exception) of object
—
OnAfterForwardHTTP é gerado depois que OnBeforeForwardHTTP habilitou o encaminhamento e a requisição HTTP upstream foi concluída. ARequestInfo é a requisição original do cliente, AResponseInfo é a resposta prestes a ser escrita de volta (ResponseNo, ContentType, ContentText...) conforme preenchida pelo servidor upstream, e E é nil em caso de sucesso ou a exceção gerada ao contatar o servidor de destino. Utilize o evento para registrar o resultado, reescrever os cabeçalhos/corpo da resposta antes que sejam retornados ao cliente ou sobrescrever a resposta com uma página de erro personalizada quando a chamada upstream falhar.
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;