TsgcWebSocketServer_HTTPAPI › 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: TsgcWSHTTPAPIAfterForwardHTTP;
// TsgcWSHTTPAPIAfterForwardHTTP = procedure(Connection: TsgcWSConnection; aRequestInfo: THttpServerRequest; var aResponseInfo: THttpServerResponse; E: Exception) of object
—
OnAfterForwardHTTP é gerado assim 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 ao cliente (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. Use o evento para registrar o resultado, reescrever os cabeçalhos/corpo da resposta antes que sejam retornados ao cliente, ou substituir a resposta por uma página de erro personalizada quando a chamada upstream falhar.
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;