TsgcHTTP2ClientMetodi › Trace

Trace Metodo

Esegue una richiesta HTTP/2 TRACE sincrona utilizzata per eseguire il debug del percorso della richiesta tra client e server.

Overload

Overload 1

Sintassi

function Trace(Const aURL: string): string;

Parametri

NomeTipoDescrizione
aURLconst stringURL assoluto di destinazione. Gli header della richiesta (eventualmente modificati dai proxy lungo il percorso) verranno restituiti dal server di origine.

Valore restituito

Corpo della risposta contenente la richiesta con eco, come documento message/http. (string)

Note

TRACE esegue un test di loop-back del messaggio: il server risponde con la riga di richiesta e le intestazioni esatte ricevute, rendendolo utile per diagnosticare quali proxy o gateway alterano il traffico. Molti server disabilitano TRACE per motivi di sicurezza, quindi è necessario essere preparati a ricevere 405 Method Not Allowed.

Esempio

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

Sovraccarico 2

Sintassi

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

Parametri

NomeTipoDescrizione
aURLconst stringURL assoluto da raggiungere con la richiesta TRACE.
aResponseContentconst TStreamStream che acquisisce il corpo della risposta message/http restituito in eco.

Note

Overload basato su stream. Comodo quando la richiesta echeggiata è lunga (ad esempio quando sono state aggiunte molte intestazioni proxy via) e si preferisce salvarla su disco o in un buffer di memoria per analisi successive.

Esempio

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

Torna ai Metodi