TsgcHTTP2Client › Metody › Trace
Wykonuje synchroniczne żądanie HTTP/2 TRACE używane do debugowania ścieżki żądania między klientem a serwerem.
function Trace(Const aURL: string): string;
| Nazwa | Typ | Opis |
|---|---|---|
aURL | const string | Bezwzględny adres URL celu. Nagłówki żądania (potencjalnie zmodyfikowane przez proxy na ścieżce) zostaną odesłane przez serwer źródłowy. |
Treść odpowiedzi zawierająca powtórzony nagłówek żądania w postaci dokumentu message/http. (string)
TRACE wykonuje test pętli zwrotnej wiadomości: serwer odpowiada dokładną linią żądania i nagłówkami, które otrzymał, co jest przydatne do diagnozowania, które serwery proxy lub bramy modyfikują ruch. Wiele serwerów wyłącza metodę TRACE ze względów bezpieczeństwa, dlatego należy być przygotowanym na otrzymanie 405 Method Not Allowed.
vEcho := oClient.Trace('https://api.example.com/diag');
procedure Trace(Const aURL: string; const aResponseContent: TStream);
| Nazwa | Typ | Opis |
|---|---|---|
aURL | const string | Bezwzględny adres URL docelowy żądania TRACE. |
aResponseContent | const TStream | Strumień przechwytujący ciało odpowiedzi message/http z echem. |
Przeciążenie strumieniowe. Przydatne, gdy echowane żądanie jest długie (na przykład gdy dodano wiele nagłówków proxy via) i preferowane jest jego utrwalenie na dysku lub w buforze pamięci do późniejszej analizy.
oOut := TFileStream.Create('trace.log', fmCreate);
try
oClient.Trace('https://api.example.com/diag', oOut);
finally
oOut.Free;
end;