TsgcHTTP2Client › Methods › Put
Eşzamanlı bir HTTP/2 PUT gerçekleştirir, URL'deki kaynağı yüklenen içerikle değiştirir.
function Put(const aURL: string; const aSource: TStream): string;
| Name | Type | Açıklama |
|---|---|---|
aURL | const string | Oluşturulacak veya değiştirilecek kaynağı tanımlayan mutlak URL. |
aSource | const TStream | Saklanacak kaynağın tam gösterimini sağlayan stream. |
Sunucudan alınan ve dize olarak çözümlenen yanıt gövdesi. (string)
PUT idempotent'tir: aynı gövdeyle tekrar tekrar çağırmak, sunucuda aynı kaynak durumunu verir. Bu aşırı yükleme (overload), metinsel yanıtı bir string olarak tüketilebilen JSON / metin yükleri için uygundur.
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);
| Name | Type | Açıklama |
|---|---|---|
aURL | const string | Oluşturulacak veya değiştirilecek kaynağı tanımlayan mutlak URL. |
aSource | const TStream | Yüklenecek kaynak baytlarını sağlayan akış. |
aResponseContent | const TStream | Sunucudan gelen ham yanıt gövdesini yakalayan stream. |
Hem isteğin hem de yanıtın dize dönüşümü olmadan en iyi şekilde işlendiği ikili kaynak yüklemeleri (görüntü veya dosya değiştirmeleri gibi) için önerilen stream'den stream'e varyant.
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;