TsgcWebSocketHTTPServerEventos › OnAfterForwardHTTP

OnAfterForwardHTTP Event

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.

Sintaxe

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

Valor Padrão

Observações

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.

Exemplo


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;

Voltar para Eventos