TsgcHTTP2Client › Metody › Put
Wykonuje synchroniczne żądanie HTTP/2 PUT, zastępując zasób pod podanym adresem URL przesłaną zawartością.
function Put(const aURL: string; const aSource: TStream): string;
| Nazwa | Typ | Opis |
|---|---|---|
aURL | const string | Bezwzględny adres URL identyfikujący zasób, który zostanie utworzony lub zastąpiony. |
aSource | const TStream | Strumień dostarczający pełną reprezentację zasobu do zapisania. |
Treść odpowiedzi odebrana z serwera, zdekodowana jako ciąg znaków. (string)
PUT jest idempotentne: wielokrotne wywołanie z tym samym treścią zapewnia ten sam stan zasobu na serwerze. To przeciążenie jest przeznaczone dla ładunków JSON lub tekstowych, których odpowiedź tekstowa może być odczytana jako ciąg znaków.
oBody := TStringStream.Create('{"status":"active"}');
try
oClient.Request.ContentType := 'application/json';
vResponse := oClient.Put('https://api.example.com/users/42', oBody);
finally
oBody.Free;
end;
procedure Put(const aURL: string; const aSource: TStream; const aResponseContent: TStream);
| Nazwa | Typ | Opis |
|---|---|---|
aURL | const string | Bezwzględny URL identyfikujący zasób do utworzenia lub zastąpienia. |
aSource | const TStream | Strumień dostarczający bajty zasobu do przesłania. |
aResponseContent | const TStream | Strumień przechwytujący surową treść odpowiedzi z serwera. |
Wariant strumieniowy zalecany do przesyłania zasobów binarnych, takich jak obrazy lub pliki, gdy zarówno żądanie, jak i odpowiedź są najlepiej obsługiwane bez konwersji łańcuchów.
oIn := TFileStream.Create('avatar.png', fmOpenRead);
oOut := TMemoryStream.Create;
try
oClient.Put('https://api.example.com/users/42/avatar', oIn, oOut);
finally
oOut.Free;
oIn.Free;
end;