TsgcHTTP2ClientMétodos › Trace

Trace Method

Realiza uma requisição HTTP/2 TRACE síncrona utilizada para depurar o caminho da requisição entre cliente e servidor.

Overloads

Overload 1

Sintaxe

function Trace(Const aURL: string): string;

Parâmetros

NameTypeDescrição
aURLconst stringURL absoluta de destino. Os cabeçalhos da requisição (potencialmente modificados por proxies no caminho) serão ecoados de volta pelo servidor de origem.

Valor de retorno

Corpo de resposta contendo a requisição ecoada, como um documento message/http. (string)

Observações

TRACE executa um teste de loop-back de mensagem: o servidor responde com a linha de requisição e os cabeçalhos exatos que recebeu, tornando-o útil para diagnosticar quais proxies ou gateways alteram o tráfego. Muitos servidores desabilitam o TRACE por motivos de segurança, portanto esteja preparado para receber 405 Method Not Allowed.

Exemplo

vEcho := oClient.Trace('https://api.example.com/diag');

Sobrecarga 2

Sintaxe

procedure Trace(Const aURL: string; const aResponseContent: TStream);

Parâmetros

NameTypeDescrição
aURLconst stringURL absoluta a ter como destino da requisição TRACE.
aResponseContentconst TStreamStream que captura o corpo da resposta message/http ecoada.

Observações

Overload baseado em stream. Conveniente quando a requisição devolvida é longa (por exemplo, quando muitos cabeçalhos via de proxy foram adicionados) e você prefere persisti-la em disco ou em um buffer de memória para análise posterior.

Exemplo

oOut := TFileStream.Create('trace.log', fmCreate);
try
  oClient.Trace('https://api.example.com/diag', oOut);
finally
  oOut.Free;
end;

Voltar para Métodos